3

我一直在试图找出 uwsgi 的问题,其中 uwsgi 进程会自行终止。

非常有用的日志文件只是说...

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

一点谷歌搜索导致我在源代码中的这一行......

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 配置为永不超时或具有极高的超时时间?该应用程序正在专用网络上使用,我宁愿它缓慢而成功,也不愿死掉。

4

1 回答 1

6

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

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

于 2013-09-04T12:25:00.373 回答