我可以使用环境变量使Celery工人连接到其他工人吗?

时间:2018-11-13 15:20:00

标签: docker celery

我正在按照手册中所述的方式开始芹菜工作者...

$ stoneid salimfadhley$ celery worker

 -------------- celery@TCR-C02X29QPJHC9.local v4.2.1 (windowlicker)
---- **** ----- 
--- * ***  * -- Darwin-18.2.0-x86_64-i386-64bit 2018-11-13 14:00:20
-- * - **** --- 
- ** ---------- [config]
- ** ---------- .> app:         default:0x10fb4ee48 (.default.Loader)
- ** ---------- .> transport:   amqp://guest:**@localhost:5672//
- ** ---------- .> results:     disabled://
- *** --- * --- .> concurrency: 8 (prefork)
-- ******* ---- .> task events: OFF (enable -E to monitor tasks in this worker)
--- ***** ----- 
 -------------- [queues]
                .> celery           exchange=celery(direct) key=celery


[2018-11-13 14:00:21,065: ERROR/MainProcess] consumer: Cannot connect to amqp://guest:**@127.0.0.1:5672//: [Errno 61] Connection refused.
Trying again in 2.00 seconds...

我可以提供一些配置(最好是通过环境变量),以使工作人员连接到其他代理地址吗?

根据手册,我可以使用 -b 标志通过命令行指定代理URL,并且可以将worker包裹在一个脚本中,该脚本将环境变量填充到其中芹菜工作者的命令行参数...但是我可以绕开它吗?我可以设置一个环境变量来由工作人员接听吗?

我实际上是在Docker容器中运行它-提供此信息的最简单方法是将其作为环境变量。

1 个答案:

答案 0 :(得分:1)

大多数设置可以通过env vars进行设置。命名约定以CELERY_开头,然后使用大写的设置名称。

在这种情况下,设置为broker_url,因此env var为CELERY_BROKER_URL

相关问题