クライアントとタイムアウト
ストリーミング API では、Bayeux プロトコルでサポートされている 2 つのタイムアウトが適用されます。
- ソケットタイムアウト: 110 秒
- クライアントは、接続の待機中にイベント (JSON 形式の HTTP 応答) を受信します。イベントが生成されずにクライアントが引き続き待機している場合、接続は 110 秒後にタイムアウトし、サーバは接続を閉じます。クライアントは、2 分以内に再接続して接続タイムアウトを回避する必要があります。
- 再接続タイムアウト: 40 秒
- イベントを受信したら、クライアントは次のイベントのセットを受け取るために再接続する必要があります。40 秒以内に再接続しないと、サーバが登録を期限切れにし、接続が終了します。この状態が発生すると、クライアントはハンドシェイク、登録、および接続を最初から再度やり直す必要があります。
各ストリーミング API クライアントは、インスタンスにログインし、セッションを維持します。クライアントがハンドシェイク、接続、または登録を行うと、セッションタイムアウトが再び最初から適用されます。クライアントが応答 (イベント、登録結果など) を受信してから 40 秒以内にサーバに再接続しない場合、クライアントセッションはタイムアウトします。
これらのタイムアウトは、ストリーミング API クライアントセッションに適用され、Salesforce 認証セッションには適用されません。クライアントセッションがタイムアウトすると、認証セッションは組織固有のタイムアウトポリシーが適用されるまで有効なままになります。