Heroku-Puma-ActionController:Live 不允许多个请求

Heroku-Puma-ActionController:Live not allowing multiple requests

我正在使用 Rails 制作一个网络应用程序,该应用程序将来自 Twitter Streaming API 的推文映射到 mapbox 地图上。它使用 Puma 作为服务器,并使用 ActionController:Live 与客户端建立一个 http 连接来推送新推文。 Twitter Stream 通过 "worker" 打开并将推文发布到 redis,然后在我的 "stream" 控制器上,我有一个 redis 订阅来监听推文,然后将它们发送到客户端。

我的应用程序目前在本地运行良好,我可以打开多个选项卡并且所有客户端都会收到推文,但是当我推送到 Heroku 时,它一次只适用于一个客户端。它以前工作得很好,我几乎没有改变任何 puma 设置。

Heroku 部署版本似乎不再是多线程的。不知道如何或为什么。

如果有人想查看代码,这是 link 到 github 代码库:github repo

编辑- 将尝试更改为 Faye websocket,但我不认为问题与 websocket 相关,因为首先建立的单一连接运行良好,它只是所有被 503 错误拒绝后的。

请尝试在 heroku 上使用网络套接字 https://devcenter.heroku.com/articles/websockets

这是一个与使用一定数量的工作进程启动 Puma 服务器相关的问题。删除设置的进程数并将其保留为默认修复它。

# workers Integer(ENV['WEB_CONCURRENCY'] || 3)