1. 異常を検知
8/6 07:40 — 8/5〆のレポートでCV数が 0 と表示。8/6分も同様。
2. 影響範囲を確認
レポート表示のみ。入稼データと配信には影響なし(実データは正常)。
3. 原因を特定して修正
集計処理のタイムゾーンがUTCのままだった。1ファイル・2行を変更。
差分を見る
開く / 閉じる
aggregation/daily_cv.py
- tz = "UTC"
- start = day.replace(hour=0)
+ tz = "Asia/Tokyo"
+ start = day.astimezone(ZoneInfo(tz)).replace(hour=0)
4. テスト(3項目 全て成功)
境界値・再計算値・回帰の3本。修正後の8/5は 1,284 CV、8/6は 1,109 CV。
実行ログを見る
開く / 閉じる
$ pytest tests/test_daily_cv.py -v
test_tz_boundary_aggregation PASSED
test_recount_0805_0806 PASSED
test_report_regression PASSED
==== 3 passed in 2.41s ====
5. 本番反映 — 未実施
承認後に実行します。所要 約3分、配信は止まりません。
6. 過去2日分の再集計 — 未実施
8/5・8/6のレポートを正しい値に置き換えます。承認後に続けて実行。