我正在使用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)
谢谢。