Cloud Tasks で API と Worker を非同期化
API が処理を Cloud Tasks に登録し、Cloud Run Worker が後から実行する構成を通じて、リトライ可能な非同期処理を設計する章。
TL;DR
- Cloud Tasks は HTTP タスクをキューへ積み、指定したターゲットへ配信する。
- API と Worker を分離すると、利用者への応答と時間のかかる処理を切り離せる。
- Worker は認証を要求し、失敗・再試行・監視を前提に冪等に設計する。
01キューの責務を決める
同期 HTTP で待たせない仕事を Cloud Tasks に移し、タスクのペイロードを定義する。

Cloud Tasks は HTTP タスクをキューへ積み、指定したターゲットへ配信する。
02Worker へ配信する
Cloud Tasks から認証付き HTTP で Cloud Run Worker を呼び出す。

API と Worker を分離すると、利用者への応答と時間のかかる処理を切り離せる。
03失敗を観測する
リトライ回数や失敗を監視し、重複配信にも耐える処理にする。

Worker は認証を要求し、失敗・再試行・監視を前提に冪等に設計する。
結論
- Cloud Tasks は HTTP タスクをキューへ積み、指定したターゲットへ配信する。
- API と Worker を分離すると、利用者への応答と時間のかかる処理を切り離せる。
- Worker は認証を要求し、失敗・再試行・監視を前提に冪等に設計する。