我有一个使用Flask写的python应用程序,并使用uwsgi + ngix进行部署,这是我的uwsgi配置:
fl
我的应用程序将响应一个想要启动或停止pytho写入的守护进程的请求。如下
在请求函数中执行
[uwsgi]
master=true
socket = :8223
chdir= /SWS/swdzweb
wsgi-file = manage.py
callable = app
processes = 4
threads = 2
其中cmd是开始|停止。在我的守护进程中,它是单进程和单线程,我捕获SIGTEM然后退出,就像这样
os.system("python /SWS/webservice.py %s" % cmd)
但是。当我在我的请求函数中通过uwsgi启动这个守护进程时,我无法阻止它,例如
signal(SIGTERM, lambda signo,handler:sys.exit(0))
就像SIGTERM信号没有发送到我的守护进程一样。
然而,当我用4个进程和1个线程配置uwsgi时,这很好用。像这样配置
kill -15 pid or python /SWS/web service.py stop
我无法弄清楚原因,所以我不得不寻求帮助。
由于!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!