gpt4 book ai didi

python - 在不使用命令行参数的情况下从 python 程序启动 celery beat

转载 作者:行者123 更新时间:2023-12-04 04:20:28 26 4
gpt4 key购买 nike

我实现了一个启动 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 而不从命令行传递?

最佳答案

以编程方式启动 celery beat:

app.Beat(loglevel='debug').run()
或者:
from celery.apps.beat import Beat

b = Beat(app=your_celery_app, loglevel='debug')
b.run()
有关关键字参数,请参阅 celery.beat documentation

关于python - 在不使用命令行参数的情况下从 python 程序启动 celery beat,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59525048/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com