こんにちは。サービス開発チームのすずきです。 今回は「ネットワークは不安定なり、それを前提にリトライ処理を実装せよ」という天からの啓示があったので PHPではどのような方法を用いて実現できそうか調べてみると Guzzle の Middleware 機構を利用できそうだったので、 Middleware を利用したリトライ方法について書いていきます。 HTTP クライアントとして Guzzle を利用していたこと、リトライ処理をアプリケーションのロジックと分けて Guzzle 側のみで完結できるのがいいと思ったのが採用した理由になります。 Middleware リトライしてみる テスト方法 さいごに Middleware Guzzle には Middleware という機構があってリトライを行う Middleware を備えています。 今回はそれを利用してリトライを行います。 RetryMid