ActiveRecord モデルの 1 つで Rails after_save コールバックを使用して、クライアントにプッシュ通知を送信し、部分的な更新をトリガーしています。プッシャーを使っています。私が抱えている問題は、5 ~ 10 秒で最大 50 のレコードを作成または更新する可能性があることです。これにより、多くのプッシュ通知が送信され、最終的に更新されます。プッシャーには、クライアント (接続) ごとに毎秒 10 メッセージ以下のレート制限があることを知っています。そのレート制限を調整して、クライアント (接続) ごとに 1 分あたり 1 メッセージを超えないようにする方法はありますか?
1111 次
1 に答える
3
注: 以前はプッシャーで働いていました
あなたが言及したレート制限は、実際にはクライアント間でイベントを送信するときのものです。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
次の 4 つのオプションがあるようです。
- Pusher API へのメッセージ送信をレート制限するように、サーバーで何かを行います。これにより、「1 日あたりのメッセージ数」の割り当てを使い果たすこともできます。
- クライアントで何かをします。他の更新メッセージが来るかどうかを確認するために最大 10 秒間待機するタイムアウトを設定します。したがって、それらを無視して、それ以上メッセージが到着しないことが確実な場合にのみ更新し、リロード後に再度更新をトリガーすることができます。
- ページを更新すると、最大 10 秒間 Pusher に接続しません。そうすれば、同じバッチからの他のすべての更新メッセージを見逃すことになります。
- 可能であれば、送信するメッセージが単にページを更新するように指示するのではなく、クライアントでページを動的に変更するために必要な情報を提供するように、コードを変更してください。おそらく更新されたコンテンツを取得する XHR を介して部分的な更新を行っているため、これは可能かもしれません。
于 2013-09-21T20:16:51.360 に答える