0

我在我的一个 ActiveRecord 模型中使用 Rails after_save 回调向客户端发送推送通知,然后触发部分刷新。我正在使用推杆。我遇到的问题是我可能会在 5-10 秒内创建或更新多达 50 条记录或其他任何时间,这会发送大量推送通知并最终刷新。我知道推送器的速率限制为每个客户端(连接)每秒不超过 10 条消息。有没有办法调整该速率限制,使每个客户端(连接)每分钟不超过 1 条消息?

4

1 回答 1

3

注意:我曾经在 Pusher 工作过

您提到的速率限制实际上是在客户端之间发送事件时。它不会影响通过他们的 REST API 发送消息。

客户端事件文档可以在这里找到:http: //pusher.com/docs/client_api_guide/client_events#trigger-events

服务器文档没有说明速率限制: http: //pusher.com/docs/server_api_guide/interact_rest_api#publishing-events

您似乎有四个选择:

  1. 在您的服务器上做一些事情,以便您限制向 Pusher API 发送消息的速率。这也将节省您使用“每天的消息”分配。
  2. 在客户端做一些事情;设置一个等待最多 10 秒的超时,以查看是否会出现任何其他刷新消息。因此,它可以忽略它们,仅在确定不再有消息到达时刷新,然后在重新加载后再次触发刷新。
  3. 当您刷新页面时,最多 10 秒内不要连接到 Pusher。这样,您将错过同一批次中的所有其他刷新消息。
  4. 如果可能,请更改您的代码,以便您发送的消息不仅仅是告诉页面刷新,而是提供在客户端上动态更改页面所需的信息。由于您正在进行部分刷新 - 可能通过获取更新内容的 XHR - 这可能是可能的。
于 2013-09-21T20:16:51.360 回答