我正在使用以下内容向Celery添加新的计划任务:
# tasks.py
@celery.task(name='update_scheduled_tasks')
def update_scheduled_tasks(self):
existing_celery_tasks = celery.conf['CELERYBEAT_SCHEDULER']
new_celery_tasks = load_more_tasks(existing_celery_tasks)
celery.conf.update(CELERYBEAT_SCHEDULER=new_celery_tasks)
然后在添加新任务时调用任务update_scheduled_tasks
:
celery.tasks['update_scheduled_tasks].delay()
这适用于一位芹菜工人;它会添加新的计划任务。即使我有多个工人,它的工作方式是否相同? Celery如何将配置更改传播给多个工作人员?我在文档中找不到任何关于此的内容。
PS我正在使用Flask,所以django-celery
不适合我。