我正在使用celery和celery-beat不使用Django,我有一个任务需要celery-beat在运行时修改计划。
现在我有以下代码(名为 的模块celery_tasks):
# __init__.py
from .celery import app as celery_app
__all__ = ['celery_app']
#celery.py
from celery import Celery
import config
celery_config = config.get_celery_config()
app = Celery(
__name__,
include=[
'celery_tasks.tasks',
],
)
app.conf.update(celery_config)
# tasks.py
from celery_tasks import celery_app
from celery import shared_task
@shared_task
def 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 --beat
start_game正常执行和存在,但beatprocess_round任务从不运行。
如何强制重新加载节拍计划(重新启动所有工人似乎不是一个好主意)?
胡子哥哥
守着一只汪
相关分类