Selparo · 運用判断ガイド

自動処理の再実行で二重登録しないための確認表

結果が分からない書き込みは、すぐ再送しません。同じ業務操作を識別し、相手側で完了したか照合してから再実行を選びます。通信切断と処理失敗は別の状態です。

公式情報確認日:。

実行番号ではなく、同じ業務操作を識別する

例は「注文 O-104 の受付通知を一度送る」処理です。再起動のたびに変わる実行番号とは別に、対象と操作を表すキーを決めます。注文変更の通知は別操作です。同じ注文だからと永久にまとめると、必要な通知まで消してしまいます。顧客名やメールアドレスをキーとして公開しないでください。

送信先APIが冪等性キーを受け付けるなら、その対象操作・保持期間・同じキーで内容を変えた場合の仕様を確認します。すべてのAPIが対応するわけではありません。対応しない送信先では、処理結果を照会してから再開するか、結果不明として止める選択が必要です。

再開を決める四つの状態

Selparo設計例:同一キーの再到着時に選ぶ処理
記録確認できたこと次の行動
未着手副作用をまだ開始していない同時実行に耐える予約を取り、開始
処理中他の実行が同じキーを使用完了を待つ。二つ目を開始しない
完了送信先の結果IDまで保存済み保存した結果を返す
結果不明送信後に応答が途切れた送信先の結果を照会。確認できなければ保留

「記録を検索し、なければ追加する」だけでは、同時に二つの処理が通過することがあります。一意制約などを使った不可分な予約が必要です。予約だけで完了扱いにすると、予約後の停止で未処理の仕事を失います。

本番へ送る前の五つの試験

  1. 同じキー・同じ内容を二回入力し、送信先の結果が一つか確認する。
  2. 二つの実行を同時に開始し、予約を取得できた側だけが書き込むか確認する。
  3. 送信先で成功した直後に応答を失うケースを試し、結果不明から無条件再送しないか確認する。
  4. 同じキーで内容だけを変え、誤って以前の結果を成功として返さないか確認する。
  5. 保持期間を過ぎた古い入力を再投入し、想定外の二重操作を起こさない扱いを決める。

試験には外部送信を行わない模擬の送信先を使います。予約・成功結果の記録は再起動後も残る必要があります。VPSへ移すだけではこの設計は成立しません。

仕様と設計上の判断を分ける

Stripeの冪等リクエスト仕様は同じキーの応答再利用と保持期間の注意点を説明しています。ここでは仕様の一例として参照しており、決済連携の導入は不要です。n8nの公式解説も手動再実行で実行IDが変わる点を区別しています。このページの状態表と試験項目はSelparoの設計案で、特定の構成での実装保証ではありません。

Claude Codeに使うなら、実行場所も決める

本文の受入条件を決めた仕事をClaude Codeで進める場合、次は入力に届く場所とPCの稼働時間から実行場所を選べます。

再実行の前提になる実行環境を選ぶ

診断はClaude Codeの実行場所を選ぶためのものです。容量計算やn8n・Codexの設定は扱いません。VPS結果には広告 / PRがあり、不要なら契約しません。