昨日の続き。
「Salesforce to 外部ソース」のデータ連携(HTTPコールアウト)時に、プラットフォームイベントが有効に使えないか?と、ふと考えました。
この手の話では、これまでは @future
や Queueable
Apexを使うのが常套手段だったかと思います。ただ、コールアウトが絡んだアーキテクチャ設計においては、単発でコールできればそれでOKというわけではなく、送信失敗時のエラーハンドリングやリトライについても考える必要があります。
例えば以下の記事です。
上記の記事の趣旨は「 @future
よりも Queueable
を使おう」というものですが、コールアウト処理のステータスを保持するカスタムオブジェクト ( Callout__c
)を作って、実行履歴を残したり後々のリカバリができるような余地を残している、というのが一つ注目すべきポイントです。
これに近いことがプラットフォームイベントでもできるんじゃないかなーと思ってます。
保持期間が24時間なようなので、履歴の保持はできないかもしれませんが。