Как я могу развернуть код в продакшн, если я запускаю celery, redis, django с помощью docker compose?
Я запускаю контейнеры celery, Redis, Django и flower с помощью docker compose. Файл docker-compose.yml похож на этот учебник. Все приложение может работать очень хорошо.
Проблема возникает, когда я изменяю код и развертываю его на производстве. Я обнаружил, что код часто не обновляется, что приводит к ошибкам. Например, я пытаюсь изменить код задачи celery или добавить новые задачи. Обновленные задачи не могут быть развернуты
После перезапуска рабочих, я попытался выполнить команды:
celery multi start 1 -A proj -l INFO -c4 --pidfile=/var/run/celery/%n.pid
celery multi restart 1 --pidfile=/var/run/celery/%n.pid
kill -HUP $pid
Но задача не обновляется после моего тестирования. Задача по-прежнему загружает старый код. Как я могу развернуть код в продакшн? Нужно ли перезапустить контейнер?
docker-compose restart celery
В документах по celery говорится, что: Для производственных развертываний вы должны использовать init-скрипты или систему наблюдения за процессами (см. Daemonization).
Daemonization совершенно не связана с docker. Я не понимаю, как Daemonization связана с развертыванием с помощью docker / docker compose. На самом деле я не понимаю, почему Daemonization связана с развертыванием из официальной документации.