Расписание интервала сельдерея не выполняется в указанный интервал - PullRequest
0 голосов
/ 03 февраля 2019
  • Я обнаружил, что функция IntervalSchedule сельдерея не выполняет задачи, если интервал задач превышает 24 часа.

Планировщик интервалов django_celery_beat.models.IntervalSchedule работает на специальнозаданный интервал.

from django_celery_beat.models import PeriodicTask, IntervalSchedule
    #should executes every 26 hours.
    >>> schedule, created = IntervalSchedule.objects.get_or_create(
    ...     every=26,
    ...     period=IntervalSchedule.HOURS,
    ... )

https://django -celery-beat.readthedocs.io / en / latest /

  • Теперь ясоздание задачи для print("Hello World!") с различными IntervalSchedule.HOURS часами времени (5,10,14,23,27,32) часами.

  • I Заметил, чтоэто задание 27,32 час никогда не выполняется, тогда как задания, которые находятся под 24 Hours i.e (5,10,14,23) of period gets executed every day

######## CELERY : CONFIG
CELERY_BROKER_URL = 'redis://localhost:6379'
CELERY_RESULT_BACKEND = 'redis://localhost:6379'
CELERY_ACCEPT_CONTENT = ['application/json']
CELERY_TASK_SERIALIZER = 'json'
CELERY_RESULT_SERIALIZER = 'json'
CELERY_TIMEZONE = "Asia/Kolkata"
CELERYBEAT_SCHEDULER = 'django_celery_beat.schedulers:DatabaseScheduler'
  • Версии:
celery (4.2.1)
django-celery (3.2.2)
django-celery-beat (1.3.0)

Каковы возможные причины, вызывающие это и как мне отладить, чтобы найти основную причину?

...