Могу ли я использовать переменные окружения, чтобы рабочий Celery подключался к другому рабочему? - PullRequest
0 голосов
/ 13 ноября 2018

Я начинаю работника из сельдерея способом, описанным в руководстве ...

$ 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 посредника через командную строку, и я могу заключить работника в скрипт, который извлекает переменную среды и вставляет ее в аргумент командной строки работника сельдерея ... но могу ли я обойти это? Есть ли переменная окружения, которую я могу установить, которую рабочий подберет?

Я на самом деле запускаю это внутри контейнера Docker - самый простой способ предоставить эту информацию - это переменная окружения.

1 Ответ

0 голосов
/ 13 ноября 2018

Большинство настроек можно установить через env vars.Соглашение о присвоении имен - это префикс CELERY_, а затем прописные буквы имени параметра.

В этом случае значение параметра равно broker_url, поэтому env var равно CELERY_BROKER_URL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...