Stop bulk-invalidating game_detail cache in kboRefresh (W6)

The 02:00 cron prefix-deleted all game_detail__ docs, but those already
carry a response-derived dynamic TTL (7d for finished games, 30s live,
etc.). Bulk-wiping them forces a cold-miss stampede of external KBO
detail re-fetches right after the cron. Drop the deletion and let each
key expire on its own TTL. rank__ and schedule_day__ still get the
safety-net invalidation.
This commit is contained in:
윤정민 2026-05-28 17:32:40 +09:00
parent 92ce4f9153
commit fa7767d172

View File

@ -35,7 +35,9 @@ export const kboDailyRefresh = onSchedule(
await invalidateByPrefix("rank__");
await invalidateByPrefix("schedule_day__");
await invalidateByPrefix("game_detail__");
// game_detail__는 응답 기반 동적 TTL(종료 경기 7d, 라이브 30s 등)을 이미 갖고 있어
// 02:00 일괄 무효화 대상에서 제외한다. 일괄 삭제 시 직후 상세 조회가 한꺼번에 미스나
// 외부 재조회 폭주를 유발하므로, TTL 자연 만료에 위임한다.
try {
await fetchRankFromKbo([year]);