Gunicorn не был найден, когда его демонизировали с руководителем для запуска Airbnb/Superset

Я пытаюсь демонизировать Superset[https://github.com/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

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

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

Я бегу

gunicorn --version
gunicorn (version 19.6.0)

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


person haytham    schedule 08.12.2016    source источник
comment
Я установил надмножество с помощью pip (то есть pip install superset) и заметил, что он устанавливает скрипт Python, который является оболочкой для gunicorn: /usr/bin/superset. Нужно ли использовать gunicorn напрямую? Я могу начать суперсет, используя supervisord, вот так: command=superset runserver -a 0.0.0.0   -  person Alex Woolford    schedule 19.12.2016
comment
Вы установили Superset в виртуальную среду Python? Эта ошибка — именно то, что вы бы увидели, если бы сначала не переключились на virtualenv: . ./venv/bin/активировать   -  person rabinnh    schedule 27.02.2018


Ответы (2)


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

person haytham    schedule 24.12.2016

руководитель не может контролировать демонизированные процессы. Supervisor создает дочерние процессы gunicorn и затем отслеживает их дочерние процессы.

person Deepak Verma    schedule 21.02.2017