我正在使用celery和celery-beat不使用Django,我有一个任务需要celery-beat在运行时修改计划。现在我有以下代码(名为 的模块celery_tasks):# __init__.pyfrom .celery import app as celery_app__all__ = ['celery_app']#celery.pyfrom celery import Celeryimport configcelery_config = config.get_celery_config()app = Celery( __name__, include=[ 'celery_tasks.tasks', ],)app.conf.update(celery_config)# tasks.pyfrom celery_tasks import celery_appfrom celery import shared_task@shared_taskdef start_game(): celery_app.conf.beat_schedule = { 'process_round': { 'task': 'celery_tasks.tasks.process_round', 'schedule': 5, }, }我从celery以下命令开始:celery worker -A celery_tasks -E -l info --beatstart_game正常执行和存在,但beatprocess_round任务从不运行。如何强制重新加载节拍计划(重新启动所有工人似乎不是一个好主意)?
2 回答
守着一只汪
TA贡献1872条经验 获得超3个赞
使用 schedule config 似乎也是个坏主意。如果最初 process_round 任务将处于活动状态并检查游戏是否未开始,那么什么都不做。
添加回答
举报
0/150
提交
取消