【发布时间】:2019-12-30 02:30:52
【问题描述】:
我已经实现了一个启动 celery 的 python 命令
@click.command("tasks", help="run this command to start celery task queue")
def tasks():
"""
Runs the celery task queue
"""
from celery.bin import worker
try:
worker = worker.worker(app=app.config.get("task_app"))
worker.run(app="my_app.task_queue", loglevel="info", uid=os.environ["uid"])
except Exception as e:
raise e
我需要创建一个类似的命令来启动 celery beat,我有以下方法
@click.command("beat", help="run this command to start beat")
def beat():
try:
p = app.config.get("task_app") # gets the current
command = CeleryCommand()
lst = ["celery", "beat"]
command.execute_from_commandline(lst)
except Exception as e:
raise e
--app 参数不适用于这种方法。有没有办法让这个命令以编程方式工作 celery -A proj beat 而无需从命令行传递?
【问题讨论】:
标签: python celery celerybeat