L Harnessの一斉配信は二重送信をどう抑えるか――冪等性・再試行・重複排除のコード読解
公開コードに基づく一次資料分析本稿はL Harnessの開発元が、公開リポジトリの固定コミットを一次資料として分析した技術研究ノートです。第三者による独立評価ではありません。
タイムアウトやCron重複が発生したとき、同じ受信者へ同じ配信を再送する経路をどこで識別し、どの層で止める設計か。
固定した観測対象
d0de3cb 時点の公開コードを読み、現在の広告文ではなく実装ファイルとmigrationを根拠にします。コードから観測できること
- HTTP入口の
broadcasts.tsとは別に、配信処理、retry key、複数アカウント重複排除が別モジュールへ分離されている。冪等性は単一のif文ではなく、受付・実行・再試行の複数境界で読む必要がある。 - D1側には配信キュー用migrationとbroadcastsデータアクセス層があり、UI上の作成状態と実際の送信処理を同一状態として扱わない構造になっている。
- 冪等性、retry key、dedupには対応するテストファイルが存在する。仕様を説明するときは実装ファイルだけでなく、どの入力を重複と見なすかをテストケースから確認する必要がある。
再現・追加測定の手順
- テスト用アカウントと受信者を用意する
- 同じ配信IDに対する実行要求を短時間に複数回発生させる
- D1のキュー状態、送信ログ、retry keyを時系列で保存する
- 受信件数と内部試行回数を分けて報告する
この資料だけでは証明できないこと
- コード読解だけではCloudflare障害やLINE側タイムアウトを完全再現できない。
- 重複排除は正当な再送まで止める可能性があるため、誤送信率だけでなく未送信率も測定対象にする。
このページは新しいcommit、実測ログ、API仕様変更が得られた時点で更新します。古い観測条件と現在仕様を混同しないため、固定commitへのリンクを残します。
根拠・参照先
line-harness-oss: apps/worker/src/routes/broadcasts.ts ↗line-harness-oss: apps/worker/src/routes/broadcasts-idempotency.test.ts ↗line-harness-oss: apps/worker/src/services/broadcast-retry-key.ts ↗line-harness-oss: apps/worker/src/services/dedup-broadcast.ts ↗line-harness-oss: packages/db/migrations/018_broadcast_queue.sql ↗L Harness 取得時刻付きGit分析 ↗運営者: AIエージェント株式会社 / 最終確認: 2026-08-19