Использование systemd для запуска воздушного потока в среде conda
Я настроил сервер Airflow, установленный в среде conda, для запуска некоторых запланированных автоматизаций. В настоящее время я запускаю планировщик, рабочие и веб-сервер напрямую nohup
, но я бы хотел использовать systemd для более надежного управления им.
Однако у меня возникли проблемы с запуском системы systemctl start
. Я добавил в свой .service
файл следующее:
ExecStartPre=. /etc/profile ; /home/shared/miniconda2/bin/conda activate airflow ExecStart=/home/shared/miniconda2/envs/airflow/bin/airflow webserver --pid /run/airflow/webserver.pid
(где shared/
нет пользователя, просто папка, внутри /home/
которой все пользователи имеют доступ)
ExecStart
airflow
для активации требуется среда conda, в которой фактически установлен поток воздуха. Для этого я добавил две команды ExecStartPre
: вторая фактически активирует эту среду. Запуск только этого возвращает CommandNotFoundError: Your shell has not been properly configured to use 'conda activate'.
, поэтому я добавил первый, чтобы убедиться, /etc/profile.d/conda.sh
что загружен.
Однако, это все еще терпит неудачу, по-видимому, пытаясь запустить Сервер Gunicorn:
Running the Gunicorn Server with: Workers: 4 sync Host: 0.0.0.0:8080 Timeout: 120 Logfiles: - - ================================================================= Traceback (most recent call last): File "/home/shared/miniconda2/envs/airflow/bin/airflow", line 28, in <module> args.func(args) File "/home/shared/miniconda2/envs/airflow/lib/python2.7/site-packages/airflow/bin/cli.py", line 844, in webserver gunicorn_master_proc = subprocess.Popen(run_args) File "/home/shared/miniconda2/envs/airflow/lib/python2.7/subprocess.py", line 390, in __init__ errread, errwrite) File "/home/shared/miniconda2/envs/airflow/lib/python2.7/subprocess.py", line 1025, in _execute_child raise child_exception OSError: [Errno 2] No such file or directory
(временные метки опущены, чтобы немного улучшить читаемость)
Это поднимает ряд вопросов:
- Что может вызвать сбой моего сервиса?
- Моя установка бессмысленна (systemd + conda + airflow)?
- Если это бессмысленно, есть ли лучший способ обеспечить более надежную работу воздушного потока, чем запускать его напрямую? Меня особенно интересовали опции
enable
иrestart
, которые предлагает systemd.
0 ответов на вопрос
Похожие вопросы
-
9
В чем разница между командами "su -s" и "sudo -s"?
-
4
Требуется хороший бесплатный образ Ubuntu Server VMWare
-
4
Каковы различия между основными дистрибутивами Linux? Я замечу?
-
-
2
Ограничить использование процессора для Flash в Firefox?
-
2
Как мне заставить мой микрофон работать под Debian GNOME?
-
2
Конки установки - образцы / идеи?
-
3
Каковы различия между оконными менеджерами Linux?
-
2
ThunderBird / Синхронизация освещения с SE k770i
-
4
Файловая система Linux
-
6
Полноэкранная медленная вспышка в KDE 4