错误信息:
uWSGI worker 5 screams: UAAAAAAH my master disconnected: i will kill myself !!!
我使用uWSGI作为服务器在Ubuntu 12.04上保存我的金字塔应用程序
主人死亡的原因有很多,一般主人的死亡是由使用者控制的,但如果因为某种原因而死亡突然,工人们必须跟随他。 由于工人(小孩)无法知道发生了什么事情,因此不能期待更多信息。
一个常见的错误是发送KILL给主人重新启动/销毁uWSGI,这将导致工人被“孤立”。 一般情况下,主人的死亡应该在日志中报告(如果记忆受损,则回溯),也许如果你粘贴他们,我们可以find原因。
一些谷歌search引导我到这个变化集(只在Google的caching中可用) ,其中uwsgi_receive_signal()和该错误消息被添加到signal.c 。 代码的当前版本在这里 。
如果read()调用返回0(意味着读取了0个字节),那么master发生了什么错误,worker应该退出。 如果返回值小于0,则表示出现错误,工作人员应该退出。 如果返回值大于0,则是正常情况,应该处理信号。
似乎没有办法告诉工人正常退出和导致工人退出的错误之间的区别,因为在这两种情况下logging了相同的消息,所以没有办法确定你的问题的答案“是怎么回事? “
而且,孩子们,为什么日志消息是重要的。
正如@roberto提到的,日志中可能还有其他消息可能包含更多有用的信息。