芹菜间隔计划不按给定间隔执行

时间:2019-02-02 21:39:17

标签: django celery django-celery celerybeat

  • 我发现,如果任务间隔大于24小时,芹菜的IntervalSchedule功能将无法执行任务。

在间隔调度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)小时。

  • 我注意到上述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)

可能的原因是什么?如何调试以找到根本原因?

0 个答案:

没有答案