Добавить функции динамически в существующие рабочие процессы сельдерея? - PullRequest
0 голосов
/ 13 января 2011

Я начинаю работать с celery и хочу узнать, возможно ли добавить модули в процессы celeryd, которые уже были запущены.Другими словами, вместо добавления модулей через celeryconfig.py, как в

CELERY_IMPORTS = ("tasks", "additional_module" )

до запуска рабочих, я хочу, чтобы дополнительный_модуль был как-то позже доступен после рабочие процессы запущены.

заранее спасибо.

1 Ответ

2 голосов
/ 17 января 2011

Вы можете достичь своей цели, запустив новый celeryd с расширенным списком импорта и в конечном итоге постепенно завершив работу вашего старого работника (после того, как он завершит свои текущие задания).

Из-заасинхронный характер получения заданий на вас и маркировки их выполненными только после того, как сельдерей завершил свою работу, вы фактически не пропустите ни одной работы, выполняющей это таким образом.Вы должны иметь возможность запускать рабочих из сельдерея на одной и той же машине - они просто будут отображаться как новые подключения к RabbitMQ (или к любому бэкэнду очереди, который вы используете).

...