メッセージの信頼性
ストリーミング API では、通知の配信の信頼性は保証していません。ストリーミングサーバは、クライアントの状態を維持しておらず、配信された内容を追跡しません。クライアントは、次のようなさまざまな理由でメッセージを受信しません。
- クライアントが初めて登録または再接続した場合、チャネルに登録していなかった間に処理されたメッセージは受信しません。再生オプションを使用して、24 時間の保持期間内の受信していない通知を取得してください。
- クライアントが切断し、新たにハンドシェイクを開始した場合は別のアプリケーションサーバを使用する可能性があります。そのため、その時点からの新しいメッセージのみを受信します。
- システムの使用負荷が高い場合、一部のシステムイベントが削除されます。
- アプリケーションサーバが停止した場合、処理中で未送信のメッセージはすべて失われます。そのアプリケーションサーバに接続しているクライアントは切断されます。通知を受け取るには、クライアントは再接続してトピックチャネルに登録する必要があります。
- 同じ Apex トランザクション内の同じレコードで複数の PushTopic 通知が送信される場合は、最後の通知のみが送信されます。それより前の通知は抑制されます。たとえば、取引先責任者レコードの作成と更新のために PushTopic を設定し、PushTopic クエリで fieldA が選択されるとします。取引先責任者が挿入されてから Apex トリガによって fieldA が更新された場合、更新の通知のみが送信されます。取引先責任者の作成の通知は送信されません。