停止uwsgi表演harakiri(严重)

时间:2013-09-03 22:35:39

标签: python-3.x uwsgi

我一直试图追踪uwsgi在uwsgi进程自杀的问题。

哦,非常有帮助的日志文件只是说......

F*CK !!! i must kill myself (pid: 9984 app_id: 0)...

一个小小的谷歌搜索引导我this line in the source code ...

void harakiri() {
    uwsgi_log("\nF*CK !!! i must kill myself (pid: %d app_id: %d)...\n", uwsgi.mypid, uwsgi.wsgi_req->app_id);
    //Some other stuff
    exit(0);
}

它是否死亡变化但似乎(来自谷歌搜索)与请求需要多长时间相关联。在这种情况下,请求将流回动态生成的Pdf。生成发生在后台,但一旦完成,就会有新的请求来检索它。 Pdf可能非常大(最坏情况下,50-60MB),这取决于连接速度,解释了为什么请求可能达到超时阈值。

如何将uwsgi配置为永不超时或具有极高的超时?该应用程序正在私人网络上使用,我宁愿它很慢而且成功而不是死亡。

1 个答案:

答案 0 :(得分:4)

harakiri是你自愿启用的--harakiri,默认情况下没有这样的功能。检查您的配置。

另一种可能是你在没有主进程的情况下运行(你应该对它有一个警告)并设置一个alarm()而不为SIGALRM定义一个信号处理程序