gpt4 book ai didi

python - 如何让 Celery 从命令行加载配置?

转载 作者:行者123 更新时间:2023-11-28 16:27:07 24 4
gpt4 key购买 nike

我正在尝试使用 celery worker 在命令行加载配置文件:

celery worker --config=my_settings_module

这似乎不起作用。 celery worker 启动并使用其默认设置(包括假设在 localhost:5672 有可用的 RabbitMQ 服务器)在我的配置中,我想将 celery 指向不同的地方。当我将配置文件中的 amqp 设置更改为某些内容时,Celery 似乎并不在意。它仍然显示默认的 RabbitMQ 设置。

我也试过一些假的

celery worker --config=this_file_does_not_exist

而 celery 再一次不在乎。 worker 启动并附加到默认的 RabbitMQ。它甚至没有查看 --config 设置

我读到了 Celery 是如何延迟加载的。我不确定这与此有什么关系。

如何让 celery worker 遵守 --config 设置?

最佳答案

如果您提供了一些无效的模块名称或不在 PYTHONPATH 中的模块名称,比如 celery worker --config=invalid_foo,celery 将忽略它。

您可以通过创建一个简单的配置文件来验证这一点。

$ celery worker -h

--config=CONFIG Name of the configuration module

正如 celery worker 帮助中提到的,你应该通过配置模块。否则会引发错误。

如果你只是跑

celery worker

它将启动 worker 并且它的输出将被着色

在同一目录中,使用此行创建一个名为 c.py 的文件。

CELERYD_LOG_COLOR = False

现在运行

celery worker --config=c

它将启动 worker 并且它的输出将不着色

如果您运行 celery worker --config=c.py,它会引发错误。

celery.utils.imports.NotAPackage: Error: Module 'c.py' doesn't exist, or it's not a valid Python module name.
Did you mean 'c'?

关于python - 如何让 Celery 从命令行加载配置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35674946/

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