Python 在Django中将应用程序级设置注入到项目级设置中
我正在尝试为芹菜节拍设置一个cron作业,但我不想将日程信息放在项目级Python 在Django中将应用程序级设置注入到项目级设置中,python,django,celery,django-celery,Python,Django,Celery,Django Celery,我正在尝试为芹菜节拍设置一个cron作业,但我不想将日程信息放在项目级settings.py,是否有方法将应用程序级设置注入项目级设置,以便它能很好地与整个项目配合 celery\u任务应用程序中的celery\u config.py CELERYBEAT_SCHEDULE = { 'name_of_job': { 'task': 'task.add', 'schedule': timedelta(seconds=5), 'args': (
settings.py
,是否有方法将应用程序级设置注入项目级设置,以便它能很好地与整个项目配合
celery\u任务应用程序中的celery\u config.py
CELERYBEAT_SCHEDULE = {
'name_of_job': {
'task': 'task.add',
'schedule': timedelta(seconds=5),
'args': (16, 0)
},
}
settings.py
INSTALLED_APPS = (
'djcelery',
'celery_task'
)
第一个选项是通过芹菜命令行参数--config指定配置文件的位置
第二个选项是执行类似于我在需要特定于环境/部署的设置时所做的操作:
在settings.py文件的底部包含一个部分,该部分使用try语句从应用程序导入设置,以避免在应用程序设置文件不可用时破坏网站
例如:
/* bottom of settings.py */
try:
from celery_app.celery_config import *
except:
print 'Did not find celery_config'
这将尝试从您的应用程序加载设置文件,但如果应用程序不在项目文件夹中,将避免任何错误
重要信息:仅使用与芹菜相关的唯一配置变量,因为这将覆盖settings.py文件中先前定义的任何设置