【问题标题】:Custom setting Pusher rate limit自定义设置 Pusher 速率限制
【发布时间】:2013-09-19 01:25:27
【问题描述】:

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

【问题讨论】:

    标签: ruby-on-rails pusher rate-limiting


    【解决方案1】:

    注意:我曾经为 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 - 这可能是可能的。

    【讨论】:

    • 太棒了,感谢您的回复。我想另一种选择是创建一个定期发送推送事件的后台作业,但我更喜欢你的选择。
    • 我认为这可能属于选项 1。很高兴这有点用处。
    猜你喜欢
    • 2011-03-26
    • 2019-08-02
    • 2022-07-18
    • 2021-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-12
    • 2022-12-13
    相关资源
    最近更新 更多