连接被 끊어짐

你好,

我正在开发一个名为 Disraptor 的 Discourse 插件,它作为一种反向代理,允许将另一个网站嵌入到 Discourse 的上下文中。

目前,需要以这种方式嵌入的网站在提供某些路由时需要很长时间,导致在 30 秒后收到渲染的“not_found”页面。

我知道在生产环境中,Unicorn 工作进程的标准超时时间为 30 秒。因此,我开始通过修改 Unicorn 配置来增加这个超时时间。查看 Unicorn 错误日志后,我可以确认工作进程现在会在稍后被终止,但“not_found”模板仍然会被渲染(在工作进程被终止之前)。

经过更多搜索后,我未能找到任何线索说明这 30 秒超时来自哪里或在哪里设置。尽管长时间响应本身是一个问题,并可能在将来得到修复,但目前如果能找到一种方法来更改该超时时间就完美了。

有人知道如何实现吗?

提前感谢!

我认为 unicorn 的 30 秒超时来自这里:discourse/config/unicorn.conf.rb at main · discourse/discourse · GitHub

如果能有一种方法来更改它,例如在生产环境中通过 ENV[“UNICORN_TIMEOUT”],那就太好了。

3 个赞