2016-12-08 7 views
2

Я пытаюсь демонизировать Superset [https://github.com/airbnb/superset], и он использует gunicorn. Им с помощью супервизора и мой конфигурационный файл выглядит следующим образом:Gunicorn не обнаружен при демонировании с супервизором для запуска Airbnb/Superset

[program:superset] 
command = /usr/local/lib/python2.7/dist-packages/superset/bin/superset runserver 
directory = /usr/local/lib/python2.7/dist-packages/superset/data/superset 
environment= PATH='$PATH:/usr/local/lib/python2.7/dist-packages/superset/bin/',PYTHONPATH='$PYTHONPATH:/data/superset' 
autostart = false 
autorestart = false 
startretries = 3 
stdout_logfile = /var/log/superset.log 
stdout_logfile_maxbytes = 100MB 
stdout_logfile_backups = 5 
stderr_logfile = /var/log/superset_err.log 
stderr_logfile_maxbytes = 100MB 
stderr_logfile_backups = 5 

однако, когда я начинаю супервизора и запустить программу Im получаю эту ошибку в файле журнала ошибок /bin/sh: 1: gunicorn: not found , но когда я запускаю приложение straigth из командной строки это работа:

gunicorn -w 4 --timeout 60 -b 0.0.0.0:8081 --limit-request-line 0 --limit-request-field_size 0 superset:app 

Im работает

gunicorn --version 
gunicorn (version 19.6.0) 

Цените вашу помощь

+0

Я установил надмножество с помощью 'pip' (т. Е.' Install install superset') и заметьте, что он устанавливает скрипт python, который является оберткой вокруг gunicorn: '/ usr/bin/superset'. Нужно ли использовать 'gunicorn' напрямую? Я могу начать суперсеть, используя 'superisord', например:' command = superset runningerver -a 0.0.0.0' –

+0

Установили ли вы Superset в виртуальном виртуальном Python? Эта ошибка является именно тем, что вы могли бы увидеть, если бы вы не первыми переключились на virtualenv: . ./venv/bin/activate – rabinnh

ответ

0

Я просто должен был явно вызвать Sudo перед командой, т.е. command = sudo /usr/local/lib/python2.7/dist-packages/superset/bin/superset runserver -a 0.0.0.0

0

руководитель не может контролировать демонизируют процессы. Супервизор создает дочерние процессы увольнителя, а затем контролирует его дочерние процессы.