各位 我当前用gunicorn + flask 的方式,用supervisor启动并监控,gunicorn是gevent加2个进程,supervisor配置如下:
[program:web]
directory=/usr/local/Web/app
command=python cli.py runserver
autostart=true
autorestart=true
startsecs=3
process_name=%(process_num)s
numprocs=2
stderr_logfile=/usr/local/Web/app/logs/err-%(process_num)s.log
stdout_logfile=/usr/local/Web/app/logs/out-%(process_num)s.log
pythonpath=@PYTHONPATH:/usr/local/web_venv/lib/python2.7/site-packages
当启动supervisord的时候 web:1可以正常启动,web:0无法启动:显示如下:
(web_venv) [root@godie conf.d]# supervisorctl
web:0 FATAL Exited too quickly (process log may have details)
web:1 RUNNING pid 22010, uptime 0:05:35
求助 如何让supervisor可以同时监控这两个进程呢?
スーパーバイザーは単なるプロセスガーディアンです。コマンドが単独で実行される場合は問題がありません。
今はスーパーバイザーを開かずに python cli.py を直接実行してみてはいかがでしょうか。 runserver は正常に実行されますか?
1. gunicorn を使用してフラスコを起動する場合は、代わりに
これがお役に立てば幸いです。gunicorn myproject:app
を使用して、gunicorn 設定を使用して制御する必要があります。 gunicorn を保護するスーパーバイザーと同様 (ハングした場合は再起動します)、gunicorn は 2 つの flask プロセスを管理します (処理のために Web リクエストを flask に送信します)。