如何从机架中间件访问Thin :: Connection?

时间:2012-08-17 00:35:19

标签: ruby rack thin

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

这将允许我为已升级的Web套接字暂停一次,为rails应用程序另一次暂停。

我的网络套接字都是中间件链中的第一个,所以它不会对Rack :: Lock等造成严重破坏。

我看到有些人只是在Thin中进行无限超时,然后在Rack::Timeout之后注入一些内容。

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

1 个答案:

答案 0 :(得分:0)

这样做的唯一方法就是修补瘦身:

class Thin::Connection
  alias :thin_process      :process
  def process
    set_comm_inactivity_timeout(0)
    thin_process
  end
end