芹菜文档提供了一个配置文件的示例,但不太清楚将该文件放在哪里,也不太清楚如何确保工作程序在启动时读取该配置文件。
celery.py定义了一个名为app
的celery.Celery
类型的对象,我用它来装饰我的所有任务。所有任务都在/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',)
在阅读了您的问题后,我了解到您对将配置文件保存在哪里以及如何导入这些文件感到困惑。
Celery有很多加载配置文件的方法。其中之一是config_from_object。
这将是一个简单的python文件,由芹菜配置组成。例如,celeryconfig.py
将包括:
CELERY_BROKER_URL = 'redis://localhost:6379'
CELERY_RESULT_BACKEND = 'redis://localhost:6379'
并且CCD_ 7将包含以下代码。
app = Celery('myproj')
default_config = 'myproj.celeryconfig'
app.config_from_object(default_config)
如果按照上面的说明操作,就不需要通过命令行传递conf。