0

我想set_comm_inactivity_timeout(0)从 Rack Middleware 内部在我的 EM Connection 上运行。

这将允许我为升级的 Web 套接字设置一次超时,而为 Rails 应用设置一次超时。

我的网络套接字都位于中间件链的首位,因此它不会对 Rack::Lock 等造成严重破坏。

我看到有些人只是在 Thin 中进行无限超时,然后在之后注入Rack::Timeout之类的东西。

有没有办法从 Rack 中间件访问 EM::Connection 或连接签名?

4

1 回答 1

0

做到这一点的唯一方法是薄薄的猴子补丁:

class Thin::Connection
  alias :thin_process      :process
  def process
    set_comm_inactivity_timeout(0)
    thin_process
  end
end
于 2012-08-30T01:07:34.107 回答