-
Notifications
You must be signed in to change notification settings - Fork 2
Webhook によるリアルタイム PR 更新 #255
Copy link
Copy link
Closed
Description
概要
GitHub App の webhook を活用して PR データをほぼリアルタイムに更新する。現在の 30 分ポーリングからの脱却。
設計
詳細は docs/webhook-realtime-update-plan.md を参照。
主な設計方針
- Acquisition / Processing 分離: fetch と analyze/upsert を別ジョブに分離
- fetchedAt ガード: raw データに fetchedAt カラムを追加し、古いデータによる上書きを防止
- coalesce で trigger 圧縮: N 回の webhook → 最大 2 run(1 running + 1 pending)
- process ジョブは org 単位で直列化:
concurrencyKey: process:${orgId}
実装ステップ
- fetchedAt カラム + ガード
- process ジョブの作成
- crawl ジョブのリファクタリング(fetch 専任化)
- recalculate ジョブの廃止(process に統合)
- webhook handler の拡張
- GitHub App 設定の更新(イベント購読有効化)
- ポーリング頻度の調整(将来)
前提条件
- durably v0.15.0 へのアップグレード(coalesce, waitForRun が必要)
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels