Weekly job fails with interval > 1
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 35/100
Línea de trabajo
El punto de entrada afectado es _schedule_next_run; empieza ahí y revisa la prueba unitaria adjunta scheduler_weeks_test.txt para reproducir el fallo. Verifica que los trabajos semanales con intervalos mayores que uno programen la siguiente ejecución esperada y confirma que el ajuste obsoleto al final de la función ya no es necesario.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Some assumptions are made in the code, which breaks if the interval is > 1.
Attached some unit test to expose the error:
scheduler_weeks_test.txt
To fix:
In _schedule_next_run replace the lines from starting with if days_ahead <= 0: with the following
if days_ahead < 0: # Target day already happened this week
days_ahead += 7
if self.last_run is None:
self.next_run += datetime.timedelta(days_ahead) - self.period
elif self.last_run + self.period < datetime.datetime.now():
self.next_run += datetime.timedelta(days_ahead) - datetime.timedelta(days=7)
And a bit further down, at the end of the function, remove the following completely
if self.start_day is not None and self.at_time is not None:
# Let's see if we will still make that time we specified today
if (self.next_run - datetime.datetime.now()).days >= 7:
self.next_run -= self.period
- Lenguaje dominante
- Python
- Estrellas
- 12.3k
- Forks
- 1k
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de dbader/schedule
-
run_all sleeps after the final job despite documenting delays between jobsPosiblemente ocupada @Gambit-Checkmate la tomó hace 7 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
-
[CRASH CONDITION] - Guard self.unit against NonePosiblemente ocupada @worksbyfriday la tomó hace 247 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
-
zh locale missing keys in msgstrAbierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 65/100
-
Bug when DST endsAbierto
Dificultad 4/5 3-5 días Aptitud para principiantes 25/100
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
Todos los issues de dbader/schedule
Issues similares
-
good first issue infrastructure
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
kuznia-rdzeni/coreblocks#1135 ·
-
good first issue server
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
Los mantenedores suelen responder en 1 día
-
documentation priority: high
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
a-lex-s/mealie-telegram-bot#54 ·
Los mantenedores suelen responder en 1 día
-
type/test
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
SaltedTan/virgil-language-server#218 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 83/100
btclib-org/btclib-wallet#541 ·
Los mantenedores suelen responder en 1 día