【问题标题】:How to stop Rails process from accepting new requests如何阻止 Rails 进程接受新请求
【发布时间】:2013-03-24 02:11:21
【问题描述】:

假设我有一堆使用 Thin 运行的 Rails 进程,前面是 Nginx。我的应用程序使用 WebSockets。

我想在 Rails 应用程序升级后启动新的瘦实例。告诉我的旧 Rails 进程停止接受 WebSocket 连接(以及正常的 http 请求),以便新进程接受 WebSocket 连接和 http 请求。关闭旧 Rails 进程上的 WebSocket 连接以强制客户端重新连接到新进程。然后最后关闭所有旧实例。

这可能吗?查看 Thin、Nginx 和 Rails 的文档,我找不到明显的方法。

【问题讨论】:

    标签: ruby-on-rails nginx thin


    【解决方案1】:

    您正在描述 Unicorn 内置的功能,因此如果此功能对您很重要,Unicorn 可能更适合。

    这里有一篇关于独角兽的好文章:https://github.com/blog/517-unicorn

    【讨论】:

    • 据我了解,Unicorn 的设计目的不是能够处理 WebSockets。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-07
    • 2017-05-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多