【问题标题】:How do I access Thin::Connection from inside rack middleware?如何从机架中间件内部访问 Thin::Connection?
【发布时间】:2012-08-17 00:35:19
【问题描述】:

我想从机架中间件内部在我的 EM 连接上运行 set_comm_inactivity_timeout(0)

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

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

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

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

【问题讨论】:

    标签: ruby rack thin


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2012-05-07
      • 2015-12-05
      • 2013-08-24
      • 2014-01-26
      • 2012-02-23
      • 2023-03-15
      • 1970-01-01
      • 2019-03-29
      • 2020-02-28
      相关资源
      最近更新 更多