虽然对于已经熟悉服务器pipe理的人来说,uwsgi文档可能没有问题,但对于想要学习的人来说,这肯定不是很有帮助。 我希望有人能帮助下面的问题。
我读过,它可以closures/重新加载进程优雅。 但是,这是什么意思? 还有什么可以优雅地closures?
什么时候这些进程可以优雅/丑陋地closures? 这是一个进程崩溃吗? 或者,如果我selectclosuresuwsgi,例如通过按ctrl + c? 或者在其他一些情况下? 我可以testing一下这个优雅吗?例如,挑衅的方式是碰撞/closures,然后看看有没有主人的结果?
它是否会让stream程优雅地closures?
由于启用主进程是可选的,因此必须存在不利于使用它的情况。 这些情况是什么?
我同意你的意见,Uwsgi文件是相当不错的。
现在:
1)这意味着uwsgi服务器将优雅地closures/重新启动/重新加载其主进程,并且其工作人员优雅地向其发送“SIGHUP”信号,允许进程响应该信号:“刷新缓冲区,closures任何build立的连接/等“(–reload)选项
2)替代“优雅”将closures/重新加载uwsgi应用程序,就像你说的“脏”。 意思是发送一个主进程和工人的“SIGTERM”信号,从而残酷地重新装载所有的工人和主进程( – 不同阶段)。 还有'–stop'这是SIGINT,实际上是会杀死你的整个uWsgi栈,也就是'你的键盘中断Ctl + C行为'
3)可以使用这些选项来处理进程,并优雅地或粗暴地closures它们,但行为是相当知名的,残酷地closures任何应用程序/崩溃不会很好地共振,不允许磁盘I / O操作完成,caching内容失去国家等等
4)是的,有时你不想uwsgi掌握过程:从文档:
“作为uWSGIstream程pipe理function的一部分,可以使主进程更好地pipe理工作进程,当启用这个function时,WSGI脚本文件或模块将被预加载到父主进程中,然后工作进程将从该主进程。如果加载的WSGI脚本或模块创build了一个后台线程,而后台线程应该在每个工作进程中运行,则会导致问题,因为后台线程在分支进程中被终止。
希望这回答你的问题。