内部ジョブ¶
通知メールの送信や外部サービスとの連携など、Post0 が裏側で実行する処理のうち、失敗して止まっているものを調べる画面です。システム管理の権限を持つ人だけが使えます。
CSV の取り込みやダウンロードなど、利用者が画面から始めた処理の結果は「その他 → ジョブ」で確認します(ジョブ)。内部ジョブの画面に出てくるのは、利用者には見えない裏側の処理です。
開き方¶
メニューの「システム管理 → 内部ジョブ」を開きます。全テナントのジョブが対象です。
一覧に表示されるジョブ¶
一覧には、正常に終わったジョブは表示されません。表示されるのは次の2つの状態のジョブです。
| 状態 | 意味 | 対応 |
|---|---|---|
| 再試行中 | 一度失敗し、自動でやり直す順番を待っている | 基本は待つ。試行回数が増え続けるものは原因を調べる |
| dead letter | やり直しの上限に達した、またはやり直せない失敗で止まった | 原因を調べ、対応を記録する |
開いた直後は、「対応状況」が「未対応」のジョブだけが表示されます。対応済みのものも見たい場合は、「対応状況」を「対応済み」または「すべて」に変えます。
ジョブを探す¶
一覧の上部で条件を指定します。選択項目は選んだ時点で、文字を入力する項目は Enter を押すか入力欄の外をクリックした時点で反映されます。
| 条件 | 内容 |
|---|---|
| 状態 | 「再試行中」「dead letter」のどちらかに絞る |
| 対応状況 | 「未対応」「対応済み」「すべて」から選ぶ |
| lane | ジョブの実行の系統で絞る |
| job type | ジョブの種類を表す名前で絞る |
「詳細条件を表示」をクリックすると、「更新日時」「最小試行回数」「最大試行回数」「error code」でも絞り込めます。「条件をクリア」で、すべての条件を初期の状態に戻します。
一覧の主な列は次のとおりです。
| 列 | 内容 |
|---|---|
| 最終更新日時 | ジョブの状態が最後に変わった日時 |
| tenant | 対象のテナント。特定のテナントに属さない処理は「システム共通」 |
| 試行回数 | これまでに実行を試みた回数 |
| last error code / last error要約 | 最後に失敗したときのエラーの種類と概要 |
| 再enqueue | 画面からやり直せるジョブは「可能」。やり直せない場合はその理由 |
詳細を確認する¶
一覧の行をクリックすると、詳細画面が開きます。次の内容を確認できます。
- ジョブ概要: ジョブの種類、テナント、試行回数、やり直せるかどうか
- errorと時刻: 最後のエラーと、登録・実行・失敗の日時
- 対応記録: 対応状況、対応した人、日時、理由
- 実行履歴: これまでの実行と操作の記録
- メール配送: メールを送るジョブの場合の宛先と送信の結果
調べ終わったジョブを「対応済み」にする¶
「dead letter」で「未対応」のジョブには、「対応済みにする」ボタンが表示されます。原因を確認し、必要な手当てが済んだら記録を残します。
- 詳細画面の「対応済みにする」をクリックします。
- 「対応理由」に、確認した内容と行った対応を入力します。入力は必須で、1000文字までです。
- 「対応済みにする」をクリックします。
対応済みにしても、ジョブがやり直されることはありません。調査が済んだという記録が残り、初期表示の一覧から外れます。
ジョブをやり直す(再enqueue)¶
「再enqueue」は、止まったジョブをもう一度実行待ちに戻す操作です。使えるのは、一覧の「再enqueue」列が「可能」になっているジョブだけです。対象は、クレジットカード決済の結果を受け取る処理に限られています。
- 詳細画面の「再enqueue」をクリックします。
- 外部サービス側で処理がどうなったかと、やり直しても二重に処理されないことを確認します。
- 「外部処理結果と重複実行リスクを確認しました」にチェックを入れます。
- 「再enqueue理由」を入力します。
- 「再enqueueする」をクリックします。
ボタンが押せない場合は、「ジョブ概要」の「再enqueue不可理由」に理由が表示されます。「dead letterではありません」「すでに対応済みです」「このjob typeは再enqueueに対応していません」などです。
原因を解消する前にやり直さない
再enqueue すると、同じ処理がもう一度実行されます。外部サービス側ですでに処理が済んでいた場合、二重に処理されるおそれがあります。外部の結果を確認し、失敗の原因を取り除いてから実行してください。
操作の結果が分からなくなったとき¶
「操作は完了しましたが、内部ジョブの最新状態を取得できませんでした。」と表示された場合、操作そのものは済んでいます。同じ操作を繰り返さず、「再試行」で最新の状態を読み込み直してください。
詳細画面で「内部ジョブが見つかりません」と表示されるのは、やり直しによって処理が進み、一覧の対象から外れた場合です。「一覧へ戻る」で一覧に戻ります。