Как я могу дать команду за убийство огнестрельного оружия и запуск огнестрельного оружия в одном файле надзора? - PullRequest
0 голосов
/ 04 июня 2018

У меня есть файл conf:

[program:nxchill]
directory=/home/ubuntu/dev/nxchill
command=gunicorn /home/ubuntu/dev/nxchill/nxchill:app -b localhost:5000
autostart=true
autorestart=true
stderr_logfile=/var/log/nxchill/nxchill.err.log
stdout_logfile=/var/log/nxchill/nxchill.out.log

Моя цель - сначала запустить команду:

sudo fuser -k 5000/tcp

, которая останавливает все процессы gunicorn, а затем следующую команду:

gunicorn /home/ubuntu/dev/nxchill/nxchill:app -b localhost:5000

Итак, когда я сделал раздел command в файле конфигурации, это:

command=sudo fuser -k 5000/tcp gunicorn /home/ubuntu/dev/nxchill/nxchill:app -b localhost:5000

Выполнение следующей команды:

sudo supervisorctl reread
sudo service supervisor restart
sudo service supervisor restart

nxchillFATAL Завершено слишком быстро (журнал процесса может содержать подробности)

Журналы:

Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/gunicorn/arbiter.py", line 583, in spawn_worker
    worker.init_process()
  File "/usr/local/lib/python2.7/dist-packages/gunicorn/workers/base.py", line 129, in init_process
    self.load_wsgi()
  File "/usr/local/lib/python2.7/dist-packages/gunicorn/workers/base.py", line 138, in load_wsgi
    self.wsgi = self.app.wsgi()
  File "/usr/local/lib/python2.7/dist-packages/gunicorn/app/base.py", line 67, in wsgi
    self.callable = self.load()
  File "/usr/local/lib/python2.7/dist-packages/gunicorn/app/wsgiapp.py", line 52, in load
    return self.load_wsgiapp()
  File "/usr/local/lib/python2.7/dist-packages/gunicorn/app/wsgiapp.py", line 41, in load_wsgiapp
    return util.import_app(self.app_uri)
  File "/usr/local/lib/python2.7/dist-packages/gunicorn/util.py", line 350, in import_app
    __import__(module)
ImportError: Import by filename is not supported.
[2018-06-04 07:59:33 +0000] [1527] [INFO] Worker exiting (pid: 1527)
[2018-06-04 07:59:33 +0000] [1523] [INFO] Shutting down: Master
[2018-06-04 07:59:33 +0000] [1523] [INFO] Reason: Worker failed to boot.

Теперь та же самая ошибка существует, даже если существует только одна команда.

1 Ответ

0 голосов
/ 22 июня 2018

Решение состоит в том, чтобы проигнорировать команду sudo fuser -k 5000/tcp и непосредственно запустить команду gunicorn.

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

Хотя будет использоваться все больше и больше портов, поскольку команда по их уничтожению не выполняется.Это может быть выполнено заданием cron один раз в день или неделю.Не нужно беспокоиться об этой команде, убивающей приложение фляги, так как она будет восстановлена ​​супервизором.

...