1

我正在使用以下内容向 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不是我的选择。

4

0 回答 0