Skip to content

Track next durably adoption targets #206

@coji

Description

@coji

概要

crawlrecalculatebackfillclassify を durably ジョブ化済み。残りはスプレッドシートエクスポートのみ。

ステータス

動機

対象フローは以下の特性を1つ以上持つ:

  • 長時間実行
  • 外部 I/O
  • 再開・リトライ可能であるべき
  • 進捗・実行履歴の可視化が有用
  • 重複実行の防止が必要

候補

スプレッドシートエクスポートジョブ

ファイル:

  • batch/bizlogic/export-spreadsheet.ts

理由:

  • 外部 API を使用し、analyze/upsert とは独立して失敗しうる
  • 処理が重くなったり失敗が増えたら分離する価値がある

方針:

  • 現状はインラインのまま維持。運用上の問題が出たら分離を検討

完了済み

backfill (#207)

ファイル:

  • batch/commands/backfill.ts
  • batch/github/backfill-repo.ts
  • app/services/jobs/backfill.server.ts

実装内容:

  • org 単位の backfill durable ジョブ
  • リポジトリ単位の進捗ステップ
  • files オプション維持
  • CLI は durably.jobs.backfill.triggerAndWait(...) 経由で実行

リフレッシュスケジューリング (#208)

ファイル:

  • app/routes/$orgSlug/settings/data-management/index.tsx
  • batch/job-scheduler.ts
  • app/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.ts
  • app/services/jobs/shared-steps.server.ts
  • app/services/jobs/crawl.server.ts
  • batch/commands/classify.ts
  • batch/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 チェックボックス削除

優先度

  • 低: スプレッドシートエクスポート(運用上の問題が出るまでインライン維持)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions