rails faye服务器定期更新

时间:2013-02-03 17:37:54

标签: ruby-on-rails ruby publish-subscribe

需要考虑最佳方法。

我使用thin来部署faye,webrick for the rails app

我有一个拍卖网站,使用有关最新出价的信息更新已订阅的频道,所有这些都是通过Faye和Rails完成的。

我需要确保用户使用计数器/计时器查看计数结束时间。

如果我在客户端使用JS来轮询每秒剩余的时间,我可能最终会在服务器上每秒发出1000个请求

我还可以使用JS仅在客户端进行倒计时,然后每隔5秒钟定期同步一次浏览器,以确保它们与服务器同步。

或者其他选项可能是使用faye将每个连接用户的倒计时发布到浏览器

我有点担心流量,并希望确保用户能够看到拍卖倒计时的正确时间

逻辑上我认为客户端JS和定期推送同步它将最有效。

其他人如何做到这一点?什么是最好的方式?我错过了哪些其他选择?

1 个答案:

答案 0 :(得分:0)

最好的方法可能是使用Faye,如railscast中所述。

使用JS轮询更改可能不适合您,因为您拥有大量用户。此外,即将推出的Rails 4将允许您从控制器流式传输服务器发送的事件,但这有点实验性。 Here是该功能的解释。

如果您只想发布剩余的时间,那么JS轮询不经常保持同步是一种选择,但很快就会在添加新功能和用户时成为服务器负载问题。