2015-12-10 4 views
1

Имейте приложение Django, которое запускает периодические задания через celery + kombu + Oracle. Я потратил некоторое время, пока не заметил, что для изменения кода задачи требуется перезапуск сельдерея, а не сервер Django (uWSGI).Где функции сохранения сельдерея?

Вопрос в том, где сельдерей хранит этот код? Какой-то кеш или что?

ответ

0

Система сельдерея состоит из 1 или более (обычно python) процессов, которые загружают ваши методы/задачи в память.

Это то же самое, что запуск интерактивной оболочки. Если вы делаете:

>>> from spam import eggs 

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

2

Сельдерей запускает несколько рабочих процессов, отдельно от процесса сервера django. Эти процессы загружают код python в память и выполняют его. Они продолжают работать до закрытия. Если вы обновите код python на диске, изменение не будет воспринято запущенными процессами - вам нужно будет перезапустить их.

Смежные вопросы