Я использую 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 часов интервала времени.
Выделенные задачи, которые не выполняются.
Пожалуйста, дайте мне знать, что может быть причиной такого поведения.
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)
Спасибо.