ala*_*zeo 5 python celery python-3.x
我有一个使用 celery 作为工作后端运行的烧瓶应用程序。
我通过 Flask 加载配置变量并将它们提供给 celery,效果很好。
flask_app.config.from_object(config)
celery.conf.update(flask_app.config)
Run Code Online (Sandbox Code Playgroud)
我的应用程序中有一个选项可以更新设置,该设置也需要在运行时应用于 celery,我的所有尝试似乎都没有永久保存配置。这是文档
from celery import current_app
current_app.conf.update(new_settings)
Run Code Online (Sandbox Code Playgroud)
或者
from celery import current_app
current_app.conf['SOME_SETTING'] = new_settings['SOME_SETTING']
Run Code Online (Sandbox Code Playgroud)
在两次尝试中,“SOME_SETTING”在更新任务期间都在 current_app 中正确更新,但在创建新任务时,配置仍然是原始值而不是新值。
我在网上找不到有关此问题的任何信息,任何正确方向的帮助或指示都会有所帮助。
来得有点晚了,希望这仍然有帮助
如果没有太多新设置需要更新,请尝试直接修改
current_app.conf.broker_url = new_settings["BROKER_URL"]
current_app.conf.result_backend = new_settings["CELERY_RESULT_BACKEND"]
Run Code Online (Sandbox Code Playgroud)
或者根据我的纯粹猜测,你有一些不匹配的命名flask_app.config
Celery 在版本 4 中将一些设置名称更改为小写,请参见此处
| 归档时间: |
|
| 查看次数: |
4375 次 |
| 最近记录: |