我们有一个运行在Unicorn/Heroku上的Rails应用程序,Unicorn配置为处理3个并发工作进程。
我们还设置了延迟任务,以异步处理一些长时间运行的文件处理任务,这些任务由客户端请求触发。
我们希望在任务完成时更新客户端。我们可以使用传统的轮询来实现,但正在研究使用新的EventSource HQ Heroku附加组件来增加响应性并减少不必要的HTTP轮询请求的开销。
EventSource HQ使用SSE和长轮询的混合方式来确保跨浏览器兼容性。我试图弄清楚的是,EventSource HQ打开的连接是否会在连接的生命周期内占用一个Unicorn工作进程?换句话说,如果我有3个并发的长时间运行的任务通过EventSource HQ连接进行处理,我的Web Dyno是否无法接收新的请求?
我们还设置了延迟任务,以异步处理一些长时间运行的文件处理任务,这些任务由客户端请求触发。
我们希望在任务完成时更新客户端。我们可以使用传统的轮询来实现,但正在研究使用新的EventSource HQ Heroku附加组件来增加响应性并减少不必要的HTTP轮询请求的开销。
EventSource HQ使用SSE和长轮询的混合方式来确保跨浏览器兼容性。我试图弄清楚的是,EventSource HQ打开的连接是否会在连接的生命周期内占用一个Unicorn工作进程?换句话说,如果我有3个并发的长时间运行的任务通过EventSource HQ连接进行处理,我的Web Dyno是否无法接收新的请求?