我正在使用以下内容向 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 工人;它会添加新的计划任务。即使我有多个工人,它也会一样工作吗?Celery 如何将配置更改传播给多个工作人员?我在文档中找不到任何关于此的内容。
PS我正在使用Flask,所以django-celery
不是我的选择。