Запланированные задания с интервалом сельдерея не выполняются через 24 часа - PullRequest
0 голосов
/ 29 января 2019

Я использую django-celery-beat https://django -celery-beat.readthedocs.io / en / latest / для управления задачами с сельдереем в моем проекте django.


Фрагменты кода:

создание интервала времени

def get_or_create_interval(interval_time):
    schedule,created = IntervalSchedule.objects.get_or_create( 
        every=interval_time,
        period=IntervalSchedule.HOURS,
    )
    return schedule

создание периодической задачи на основе указанного интервала времени:

def set_periodic_task(project_name,task_name,project_id):
    interval = get_or_create_interval(25)
    PeriodicTask.objects.create(
        interval=interval,
        name='{0}-{1}'.format(project_name,project_id),
        task=task_name, 
        kwargs=json.dumps({'project_id': 35,
        }),
    )

Я создал несколько периодических задач с различным интервалом времени и заметил, что выполняются только задачи, которые меньше 24 часов интервала времени.

Выделенные задачи, которые не выполняются.

enter image description here

Пожалуйста, дайте мне знать, что может быть причиной такого поведения.

settings.py

######## 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'
### ThirdPartyTOols
→ pip3 list | grep "celery"
celery (4.2.1)
django-celery (3.2.2)
django-celery-beat (1.3.0)

Спасибо.

...