1. ヘルプ
  2. 機能
  3. コンテンツAPI(GET)

コンテンツAPIでGETリクエストした際、エラー後にリトライしても同じエラーが返却されるのはなぜですか?

→ CDNによりキャッシュされたエラーが返却されている可能性があります。

CDNでは通常のレスポンスだけでなく、エラーレスポンスもキャッシュの対象となります。
エラーレスポンスに関しては最大で10秒間キャッシュが有効になる場合があります。

そのため、エラー発生直後にリトライを行うと、CDNによりキャッシュされた同一のエラーが返却される可能性があります。

対処方法

microcms-js-sdkをご利用の場合

microcms-js-sdkには、エラー発生時に自動リトライを行うretry: trueオプションが用意されています。このオプションを有効にすると、特定のエラー(例:429、503)が発生した際にリクエストのリトライが自動で行われます。

リトライ処理には、Exponential Backoff というアルゴリズムが採用されており、リトライの間隔が段階的に長くなります。

    • 1回目のリトライ:初回リクエスト失敗から、5秒~10秒のディレイ

    • 2回目のリトライ:2回目のリクエスト失敗から、10秒~20秒のディレイ

このように、リトライの間隔をあけることで、CDNキャッシュの有効期間を回避しやすくなります。

リトライオプションの詳細はブログ「microcms-js-sdkにリトライオプションが追加されました」をご参照ください。

リトライ処理を独自に実装されている場合 

リトライ処理を独自に実装されている場合は、Exponential Backoff 等の遅延機構を導入するなどし、10秒以上あけて再試行することをご検討ください。