> For the complete documentation index, see [llms.txt](/llms.txt)

# GS2-JobQueue API リファレンス

非同期ジョブキュー




ジョブキュー機能を提供するサービスです。

ジョブキューはFIFOを保証したキューで、結果整合処理に使用できます。<br>
結果整合処理とはAPIが応答した時点では処理の完了が保証されず、しばらくの時間の経過をもって”結果的に意図した状態になる”仕組みです。

GS2 では報酬付与の多くの部分を結果整合で処理します。<br>
これは、報酬を付与する際に報酬を管理するサーバーがダウンしていると、芋づる式にいろいろなサービスが利用できなくなることを避けるためです。<br>
報酬付与の処理をジョブキューに登録し、ジョブを実行する際に対象のサーバーが利用できない状態だったとしても、ジョブのリトライで結果整合を実現します。<br>
リトライ回数には最大値を指定でき、最大値に達しても成功しなかった場合はデッドレタージョブという失敗したジョブが蓄積するモデルに格納されます。<br>
デッドレタージョブを使って、処理の失敗したジョブに関して、個別対応を行えるようになっています。

ネームスペースの `enableAutoRun` が無効（既定値）の場合、ジョブは自動実行されず、明示的に実行APIを呼び出す必要があります。<br>
`enableAutoRun` が有効の場合、登録されたジョブはサーバーで自動実行されます。以下のクライアントからの実行方法は手動実行モードの説明です。<br>
これにはジョブの戻り値をクライアント側で把握できるようにする目的があります。<br>
例えば、GS2-Quest上でクエストをクリアしたあと、ジョブキューに報酬を付与するジョブが登録され、<br>
クライアントはジョブキューを終端まで実行することでクエストによって得られた報酬付与処理を明示的に実行することができます。<br>
（結果整合の遅延処理の完了を待つことが可能） なおかつ、そのジョブの戻り値を参照することで得られた報酬をUIに反映することができます。

ジョブの登録・実行は1秒間に3回までしか行えません。

[マイクロサービス紹介 / GS2-JobQueue](../../microservices/job_queue)



- [GS2-JobQueue Deploy/CDK リファレンス](/ja/api_reference/job_queue/deploy/)
  
- [GS2-JobQueue SDK API リファレンス](/ja/api_reference/job_queue/sdk/)
  
- [GS2-JobQueue SDK for Game Engine API リファレンス](/ja/api_reference/job_queue/game_engine/)
  
- [GS2-JobQueue トランザクションアクション](/ja/api_reference/job_queue/stamp_sheet/)
  
