メンテナンス中 — しばらくしてからもう一度お試しください。

🕊️

HATO API

鳩の郵便局

05 / 配達キュー

利用枠が空くまで配達を待機させる。

同時実行枠や直近1時間の試行枠が不足するとき、LetterやLetterflowをアカウントのキューで待機させられます。キューはリージョン、ダッシュボードからの送信、API実行、対象のスケジュールで共有されます。待機中の配達は再起動後も保持され、自動的には期限切れになりません。

待機できる配達を選ぶ

設定ページでキューの設定を保存します。スケジュールページでも、スケジュール配信のキューが現在有効かを確認できます。

設定項目初期値動作
利用枠が不足するときは配信をキューに追加有効ダッシュボードと連携APIからの配達を、利用枠が空くまで待機させます。
スケジュール配信もキューに追加無効メインのキュー設定も有効な場合、スケジュール配信をキューに追加します。

メインのキュー設定が無効な間は、スケジュール配信の設定を操作できませんが、保存した値は保持されます。どちらの設定を無効にしても、新しい送信にだけ適用され、受け付け済みの待機中の配達は継続します。

対象のキュー設定が無効な場合、実行枠を確保できない送信は直ちに利用枠のエラーになります。先に待機している配達がある場合も、必要な試行数が少ない新しい配達が割り込むことはできません。

設定 →

容量と実行枠を割り当てる順序

各Letterflowは待機枠を1件使用します。待機上限はアカウント固有の例外を含む実効同時実行上限の2倍です。

プラン同時実行数待機できる配達数
Tinkerer12
Aspiring36

新しい配達は末尾に追加され、表示順に実行枠が割り当てられます。利用枠、アカウントの制限、リージョンの可用性により実行できない項目も、その位置を保持します。後続の配達は追い越せないため、先に進めるには該当項目を移動または削除してください。同時に実行枠を割り当てられた配達は、異なる順序で完了する場合があります。

キューの上限が下がっても、既存の項目は残ります。件数が変更後の上限以上の間は、新しい項目を追加できません。待機できる件数を増やしても、実行の処理能力は増えません。

待機中は利用枠を予約しません

待機中の配達は同時実行枠も時間あたりの試行枠も使用しません。実行枠の割り当て時に、再試行、リダイレクト、Letterflowで最長となる実行経路を含む実行全体の試行枠を予約します。Letterflowは実行の精算が完了するまでアカウントの同時実行枠を1つ使用します。内部のLetterが再びこのキューに入ったり、追加の同時実行枠を取得したりすることはありません。

利用枠の変化に応じて、また約5秒ごとに実行枠の割り当てを再試行します。実行のタイムアウトは、待機時間とは別に、実行枠の割り当て時点から計測します。無期限に待機できても成功が保証されるわけではありません。入力の不備で失敗したり、制限により実行枠を確保できなかったり、認証情報や依頼した操作が古くなったりする場合があります。

確認・並べ替え・削除

  1. キューを開きます。

    ダッシュボードの利用状況パネルで「キュー」をクリックします。待機数と上限の表示から一覧が開き、各配達の位置、送信元、待機時間、待機理由を確認できます。

  2. 「上へ移動」「下へ移動」で並べ替えます。

    待機中の配達に実行枠を割り当てる順序を変更します。操作が届く前にキューが変化した場合、新しい順序を上書きせずに一覧を更新します。

  3. 待機中の配達を削除します。

    削除が成功した配達は実行されません。すでに実行枠が割り当てられている場合は競合エラーになるため、「配達状況」の「停止」を使用してください。実行枠の割り当て後に停止しても、外部へ送信済みの操作は取り消せません。

同じLetterやLetterflowが実行中・待機中でも、新しく「送信」するたびに別の配達を作成します。同じ表示済みフォームの二重クリックや再送は、同じ実行を再利用します。異なる冪等性キーのAPIリクエストや、個別のスケジュール実行も別々の配達になります。

待機中の配達が保持するもの

送信時に実行設定とリージョン内の入力への参照を固定します。その後にLetter、配達ポリシー、Letterflow、スケジュールを編集しても、受け付け済みの配達は書き換わりません。編集後の設定を使用するには、待機中の配達を削除して新しく送信してください。

リクエスト内容は割り当てられた実行リージョンに暗号化して保存され、Letterflow定義はCoordinatorリージョンに残ります。キューを使っても、これらの内容がHubを経由して移動することはありません。待機中は必要な入力への参照を保持して自動削除から保護します。キューから削除すると参照を解放しますが、保存済みリソースや実行枠を割り当て済みの配達で使用中の入力は引き続き保護されます。

保存済みLetterflowや必須の依存リソースを削除すると、関連する待機中の配達はキャンセルされます。受理済みの処理は保護されたスナップショットを保持します。短期間の実行権限は受理時に発行されるため、長く待機しても送信時の権限の期限切れに依存しません。

スケジュール実行の扱い

スケジュール配信でアカウントのキューを使用するには、両方のキュー設定を有効にします。スケジュールを一時停止または削除すると、待機中の実行はキャンセルされますが、実行枠を割り当て済みの配達は継続します。スケジュールの編集は今後の実行にのみ適用され、受け付け済みのスナップショットには影響しません。

単発・回数指定の繰り返し

各スケジュールで待機できる実行は最大1件です。待機中は繰り返し回数を消費しません。実行枠の割り当て時に1回分を消費し、その時点から設定した間隔で次の実行時刻を計算します。

待機中の繰り返し実行を削除すると、外部への送信を試みずに1回分をスキップし、指定間隔後に次の残りの実行を予約します。待機中の単発実行を削除すると、配達せずにスケジュールが終了します。一時停止中のスケジュールが自動的に再開することはありません。

Cronスケジュール

Cronスケジュールの作成・編集時に、すでに待機中の実行がある場合の動作を選択します。

待機中の実行を1件だけ保持
初期設定です。元のスナップショットとキュー内の位置を保持し、待機中は後続の実行時刻をスキップします。
各実行をキューに追加
共有キューの上限まで、到来を検知した実行時刻ごとに別のスナップショットを末尾に追加します。

スケジュール配信のキューが無効でもCronの設定は保存できますが、両方のキュー設定が有効な場合にだけ適用されます。変更しても既存の待機項目を統合・削除しません。キューが満杯の場合、新しいCron実行はスキップされ、利用枠不足として記録されます。スケジューラーの停止中に過ぎた実行時刻を、後からまとめて実行することはありません。

スケジュール →

連携APIでの待機

新しい送信は待機中の場合も202を返し、同じ冪等性キーでの再送は200を返します。受け付け済みのキーを再送すると、キャンセル後も同じ実行を返します。新しい配達には新しいキーを使用してください。

実行状態意味
waitingアカウントの利用枠を待っています。実行の失敗ではありません。
queued実行枠を割り当て済みで、リージョンでの実行を待っています。利用枠は予約済みです。

実行状態をポーリングしてqueue_position、wait_reason、admitted_atを確認します。待機キューが満杯の場合はHTTP 429とerror.code=queue_fullを返します。並べ替えと削除はログイン済みのダッシュボードで操作し、連携APIキーにはキュー管理の権限は追加されません。

実行の開始と状態の確認 →