Celery 无法识别环境变量 BROKER_URL

Celery doesn't recognize environment variable BROKER_URL

目前我正在尝试 运行 使用 pycelery 和 Redis url 金字塔文件中的 Celery 任务,它本身就是一个环境变量,所以我尝试如下声明它
[celery]
BROKER_URL = ${REDIS_URL}

但是当我 运行 它时我得到了错误

这表明 BROKER_URL 没有识别环境变量。但是在文件的前面我可以声明
redis.url = ${REDIS_URL}就好了。任何帮助,将不胜感激。谢谢!

不幸的是,Python 应用程序和库之间的 INI 设置解析不协调。环境变量扩展通常发生在库级别,而不是 INI 解析级别。

因此,pyramid_redis支持环境变量。但除非 pyramid_celery 添加明确的环境变量支持,否则不会发生。

pyramid_celery repository is here。我建议你添加一个关于这个的问题。同时,您可以在 Python 代码中手动配置 Celery(不使用 ini)或使用硬编码值。