-
Notifications
You must be signed in to change notification settings - Fork 2
Open
Description
概要
crawl、recalculate、backfill、classify を durably ジョブ化済み。残りはスプレッドシートエクスポートのみ。
ステータス
- 完了:
backfillの durably ジョブ化 (Move recalculate off the main thread and add durable backfill #207) - 完了:
refreshRequestedAtフラグポーリングを durably スケジュール実行に置換 (feat: replace refresh DB flag polling with durably job trigger #208) - 完了:
classifyを shared-steps パイプラインから分離し standalone durably ジョブ化 (feat: make classify a standalone durably job #209) - 将来: スプレッドシートエクスポートの分離を検討
動機
対象フローは以下の特性を1つ以上持つ:
- 長時間実行
- 外部 I/O
- 再開・リトライ可能であるべき
- 進捗・実行履歴の可視化が有用
- 重複実行の防止が必要
候補
スプレッドシートエクスポートジョブ
ファイル:
batch/bizlogic/export-spreadsheet.ts
理由:
- 外部 API を使用し、analyze/upsert とは独立して失敗しうる
- 処理が重くなったり失敗が増えたら分離する価値がある
方針:
- 現状はインラインのまま維持。運用上の問題が出たら分離を検討
完了済み
backfill (#207)
ファイル:
batch/commands/backfill.tsbatch/github/backfill-repo.tsapp/services/jobs/backfill.server.ts
実装内容:
- org 単位の
backfilldurable ジョブ - リポジトリ単位の進捗ステップ
filesオプション維持- CLI は
durably.jobs.backfill.triggerAndWait(...)経由で実行
リフレッシュスケジューリング (#208)
ファイル:
app/routes/$orgSlug/settings/data-management/index.tsxbatch/job-scheduler.tsapp/services/jobs/crawl.server.ts
実装内容:
- UI から durably crawl ジョブを直接 trigger(DB フラグポーリング廃止)
- SSE によるリアルタイム進捗追跡
- 共通
RunStatusAlertsコンポーネント refresh_requested_atカラム削除(tenant マイグレーション)- 不要な
db/schema.sqlを削除
standalone classify (#209)
ファイル:
app/services/jobs/classify.server.tsapp/services/jobs/shared-steps.server.tsapp/services/jobs/crawl.server.tsbatch/commands/classify.tsbatch/usecases/classify-pull-requests.ts
実装内容:
classifyJobを standalone durably ジョブとして定義(force/limitオプション対応)- shared-steps パイプライン(analyze → upsert → export → finalize)から分離
- crawl 完了後に
triggerClassifyStepで fire-and-forget trigger concurrencyKey: classify:${orgId}で同一 org の並行実行を防止- CLI
classifyコマンドはtriggerAndWait経由に変更 - recalculate の
--classifyフラグ削除(classifyコマンドに一本化) - Data Management UI から classify チェックボックス削除
優先度
- 低: スプレッドシートエクスポート(運用上の問題が出るまでインライン維持)
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels