各位 我当前用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可以同时监控这两个进程呢?
Le superviseur n'est qu'un gardien de processus. S'il n'y a pas de problème si votre commande s'exécute seule, alors il n'y aura aucun problème avec le superviseur
Essayez de ne pas ouvrir le superviseur maintenant, mais exécutez directement python cli.py. courir normalement ?
1. Lorsque vous utilisez gunicorn pour démarrer flask, vous ne devez pas utiliser python pour le démarrer, utilisez plutôt
gunicorn myproject:app
pour faire référence à guncicorn ;2 Les deux processus ici doivent être contrôlés en utilisant la configuration gunicorn ; similaire au superviseur gardant gunicorn. (S'il se bloque, redémarrez-le), gunicorn gère deux processus flask (envoi de requêtes Web à flask pour traitement).
J'espère que cela aide.