Flask celery.conf.update是否将更改传播给所有工作人员?

Flask celery.conf.update是否将更改传播给所有工作人员?,flask,celery,celerybeat,Flask,Celery,Celerybeat,我正在使用以下命令向芹菜添加新的计划任务: # 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.c

我正在使用以下命令向芹菜添加新的计划任务:

# 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\u scheduled\u tasks

celery.tasks['update_scheduled_tasks].delay()
这对一个芹菜工人来说效果很好;它获取添加到其中的新计划任务。即使我有多个工人,它也能工作吗?芹菜如何将配置更改传播给多个工作者?我在文件里找不到关于这个的任何东西


PS我用的是烧瓶,所以我不能选择django芹菜。

你找到答案了吗?另外,您的load\u more\u tasks()函数是自定义JSON连接函数还是其他函数?我仍然不确定答案。相反,我决定将新的任务配置添加到数据库中(以及它们的时间表),运行一个每小时运行一次的任务,从数据库中读取任务配置并运行需要运行的任务(我知道这很糟糕)。在我看来,工人们不可能自动得到改变;我的员工当然不会自己更新
load\u more\u tasks
是一个向
CELERYBEAT\u SCHEDULE
对象添加更多内容的函数。感谢您的澄清-现在,我只使用使用使用数据库分配的apply\u async(ETA=)。。。