芹菜文档很有帮助gives an example of a configuration file,但对于放置此文件的位置或如何确保工作人员在启动时读取此配置文件,尚不清楚。
celery.py定义了celery.Celery
类型的app
对象,这是我用来装饰所有任务的对象。所有任务都在/myproj/tasks/
中。
我的目录结构有点像这样:
/myproj/celery.py
/celeryconfig.py # my settings
/tasks/ # tasks go here
我可以在celery.py
中放入一些东西来使其加载celeryconfig.py
文件吗?还是需要在辅助程序命令行参数上指定它?
这是我的配置文件现在的样子:
## Broker settings.
broker_url = "pyamqp://admin:ypass@mq:5672"
# List of modules to import when the Celery worker starts.
imports = ('stoneid.tasks',)
答案 0 :(得分:0)
在阅读您的问题之后,我了解到您对于在哪里保留配置文件以及如何导入配置文件感到困惑。
Celery有许多加载配置文件的方法。其中之一是config_from_object。
这将是一个简单的python文件,由celery配置组成。
对于您的示例,celeryconfig.py
包括:
CELERY_BROKER_URL = 'redis://localhost:6379'
CELERY_RESULT_BACKEND = 'redis://localhost:6379'
和celery.py
将包含以下代码。
app = Celery('myproj')
default_config = 'myproj.celeryconfig'
app.config_from_object(default_config)
如果遵循上述说明,则无需通过命令行传递conf。