Могу ли я настроить запуск Celery Flower после закрытия оболочки Unix?

Я унаследовал корпоративный сервер и приложение, которое состоит из нескольких сценариев Python, HTML-файлов и сервисов Unix от ИТ-сотрудника, который недавно покинул мою компанию. Он не оставил абсолютно никакой документации, поэтому я изо всех сил стараюсь поддержать это приложение для моей рабочей группы - я не ИТ-специалист (хотя я могу читать / писать на python, html и некоторых других языках). Я крайне незнаком с серверами в целом и Unix в частности.

Из того, что я могу сказать, копаясь, наше приложение использует следующее:

  • Nginx
  • цирк / огнестрельное оружие
  • RabbitMQ-сервер
  • сельдерей
  • цветок сельдерея

Наконец-то у меня запущено большинство этих сервисов, но я борюсь с цветком сельдерея. Я смог запустить Flower из моего соединения PuTTY SSH с помощью команды:

/miniconda3/envs/python2/bin/flower start

но, кажется, останавливается всякий раз, когда я отключаюсь (сервер:5555 больше не показывает веб-страницу монитора). Можно ли настроить его для работы в фоновом режиме, чтобы мне не приходилось держать мое соединение SSH открытым 24/7? Я видел в документации Flower, что есть режим персистентности, но я не уверен, что делает.

Спасибо за любые предложения!

1 ответ

Решение

Том, я полагаю, вы используете платформу Linux. Если это так, я предлагаю вам использовать screen (или даже tmux) для запуска Flower. Это будет поддерживать работу приложения в фоновом режиме, а также предоставит дополнительное преимущество, позволяющее вам подключиться к процессу, если вам нужно проверить вывод, остановить процесс и т. Д.

Для запуска приложения используйте screen -S Flower -d -m /miniconda3/envs/python2/bin/flower start,

Чтобы увидеть, запущен ли процесс, используйте screen -ls который перечислит процессы как;

There is a screen on:
    17256.Flower    (02/09/16 08:01:16) (Detached)
1 Socket in /var/run/screen/S-hooligan.

Чтобы подключиться к нему, используйте screen -r Flower,

Если вы снова подключились к экрану, отключите ^a ^dпри условии, что escape-символ не был изменен по умолчанию. Чтобы увидеть полный список привязок клавиш, посмотрите страницу руководства, это довольно просто.

Вы можете также рассмотреть возможность добавления этой команды в системный crontab с помощью @REBOOT директива, чтобы он запускался при загрузке системы.

Другие вопросы по тегам