Skip to content

バックフィル改善: --backfill-from オプション追加・カットオフバグ修正・進捗表示改善#137

Merged
hideack merged 1 commit into
masterfrom
feature/manual-backfill-from
May 28, 2026
Merged

バックフィル改善: --backfill-from オプション追加・カットオフバグ修正・進捗表示改善#137
hideack merged 1 commit into
masterfrom
feature/manual-backfill-from

Conversation

@hideack

@hideack hideack commented May 28, 2026

Copy link
Copy Markdown
Owner

Summary

  • カットオフバグ修正: バックフィルの対象チャンネル絞り込みを「現在-24h」から「前回ハートビート-24h」に変更。停止期間が24時間を超えると全チャンネルが除外されてしまうバグを解消
  • --backfill-from <datetime> オプション追加: 任意の開始時刻を指定して強制バックフィルを実行可能に。プロセスが長期停止していた際の手動回収に対応
  • 進捗表示改善: バッチ(5ch)完了ごとに進捗を出力 + インターバルを60秒→30秒に短縮

使い方

# 昨日分をまるごと回収
node bin/slack-cli-stream --settings pepabo-slack.yaml --backfill-from "2026-05-28"

# 特定時刻から
node bin/slack-cli-stream --settings pepabo-slack.yaml --backfill-from "2026-05-28 09:00"

起動すると以下のように表示され、全チャンネルを対象にバックフィルが走る:

[Manual] Backfilling messages for N channel(s) from 2026-05-28 00:00 in background...
Backfill progress: 5/120 channels (4%), 312 messages fetched
...
Backfill complete: 8025 message(s) fetched.

各チャンネルの oldestmax(指定時刻, DBの最終ts) で計算するため重複挿入は発生しない。

Test plan

  • --backfill-from "YYYY-MM-DD" 形式で起動し、指定日以降のメッセージが取り込まれること
  • --backfill-from "YYYY-MM-DD HH:mm" 形式でも動作すること
  • 不正な日時形式を渡すとエラーメッセージを出して終了すること
  • --backfill-from なしの通常起動で既存の自動バックフィル動作が変わらないこと
  • バックフィル進捗がバッチ完了ごとに表示されること

🤖 Generated with Claude Code

- --backfill-from <datetime> で任意の開始時刻からの強制バックフィルを実行可能に
  (例: --backfill-from "2026-05-28" または --backfill-from "2026-05-28 09:00")
- バックフィルのカットオフを「現在-24h」から「前回ハートビート-24h」に修正:
  停止期間が24hを超えると全チャンネルが除外されていたバグを解消
- レジューム検出時も lastHeartbeatTs をスリープ前の時刻に更新するよう修正
- 進捗表示をバッチ完了ごとに出力 + インターバルを60秒→30秒に短縮

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@hideack hideack merged commit 4867811 into master May 28, 2026
2 checks passed
@hideack hideack deleted the feature/manual-backfill-from branch May 28, 2026 23:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant