From ef8fea237660052aaa1fea6fe40a2e65ac72a43e Mon Sep 17 00:00:00 2001 From: joona95 Date: Mon, 3 Aug 2026 21:33:36 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20=EB=B9=88=20=EC=8D=B8=EB=84=A4=EC=9D=BC?= =?UTF-8?q?=20=EC=9E=AC=ED=81=AC=EB=A1=A4=20=EC=8A=A4=EC=BC=80=EC=A4=84?= =?UTF-8?q?=EB=9F=AC=20=EC=A3=BC=EA=B8=B0=206=EC=8B=9C=EA=B0=84=20->=201?= =?UTF-8?q?=EC=8B=9C=EA=B0=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 실측 결과 이 규모의 크롤에는 네이버 rate-limit 이 걸리지 않아(버스트 반복에도 실패 증가 없음) 더 자주 돌려도 안전. 300개/시간으로 백로그를 반나절 내 소진한다. 빈 게 없으면 아무 일도 안 하므로 소진 후에도 무해. Co-Authored-By: Claude Opus 4.8 (1M context) --- .../recipe/application/blog/BlogThumbnailRetryScheduler.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/recipe/app/src/recipe/application/blog/BlogThumbnailRetryScheduler.java b/src/main/java/com/recipe/app/src/recipe/application/blog/BlogThumbnailRetryScheduler.java index fe1b3e60..e35eb52c 100644 --- a/src/main/java/com/recipe/app/src/recipe/application/blog/BlogThumbnailRetryScheduler.java +++ b/src/main/java/com/recipe/app/src/recipe/application/blog/BlogThumbnailRetryScheduler.java @@ -24,8 +24,9 @@ public BlogThumbnailRetryScheduler(BlogRecipeThumbnailCrawlingService blogRecipe this.blogRecipeThumbnailCrawlingService = blogRecipeThumbnailCrawlingService; } - // 6시간마다 (00/06/12/18시) - @Scheduled(cron = "0 0 0/6 * * *") + // 매시 정각. (실측 결과 이 규모 크롤엔 네이버 rate-limit 이 걸리지 않아 자주 돌려도 안전. + // 빈 게 없으면 아무 일도 안 하므로 백로그 소진 후에도 무해) + @Scheduled(cron = "0 0 * * * *") public void retryEmptyThumbnails() { int processed = blogRecipeThumbnailCrawlingService.retryEmptyThumbnails(BATCH_SIZE); log.info("scheduled blog thumbnail retry processed={}", processed);