From 3c315b51057e40f190d4e4aa4a565c28201bc846 Mon Sep 17 00:00:00 2001 From: bot-backend Date: Thu, 27 Aug 2026 14:33:06 +0500 Subject: [PATCH] =?UTF-8?q?fix(tradein/scheduler):=20boot-reap=20=D0=B2?= =?UTF-8?q?=D0=B8=D0=B4=D0=B5=D0=BD=20=D0=B8=20=D0=BF=D1=80=D0=B8=20=D0=BD?= =?UTF-8?q?=D1=83=D0=BB=D0=B5=20=E2=80=94=20=D0=BC=D0=BE=D0=BB=D1=87=D0=B0?= =?UTF-8?q?=D1=89=D0=B8=D0=B9=20=D0=BC=D0=B5=D1=85=D0=B0=D0=BD=D0=B8=D0=B7?= =?UTF-8?q?=D0=BC=20=D0=BD=D0=B5=D0=BE=D1=82=D0=BB=D0=B8=D1=87=D0=B8=D0=BC?= =?UTF-8?q?=20=D0=BE=D1=82=20=D0=BD=D0=B5=D0=BF=D0=BE=D0=B4=D0=BA=D0=BB?= =?UTF-8?q?=D1=8E=D1=87=D1=91=D0=BD=D0=BD=D0=BE=D0=B3=D0=BE=20(#3122)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Первая живая приёмка #3122: деплоевский startup-reap успел снять зомби раньше, boot-reap отработал с нулём — и не оставил НИКАКОГО следа исполнения. Ноль — штатный исход, но «сторож, молчащий при нуле» — это слепая зона по построению: оборванную проводку не отличить от чистого прода. INFO-строка при нуле, warning при снятых — как было. Co-Authored-By: Claude Opus 5 --- .../scraper-kit/src/scraper_kit/orchestration/scheduler.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/tradein-mvp/packages/scraper-kit/src/scraper_kit/orchestration/scheduler.py b/tradein-mvp/packages/scraper-kit/src/scraper_kit/orchestration/scheduler.py index 029b96c7..f1ef3680 100644 --- a/tradein-mvp/packages/scraper-kit/src/scraper_kit/orchestration/scheduler.py +++ b/tradein-mvp/packages/scraper-kit/src/scraper_kit/orchestration/scheduler.py @@ -451,6 +451,12 @@ def reap_boot_zombies(db: Session, boot_time: datetime) -> int: len(rows), [(r.id, r.source) for r in rows], ) + else: + # Ноль — штатный исход (деплоевский startup-reap обычно успевает раньше), + # но исполнение обязано быть видимым: молчащий при нуле механизм + # неотличим от неподключённого (первая же живая приёмка #3122 это + # показала — оборванную проводку было бы не отличить от чистого прода). + logger.info("scheduler: boot-reap — прогонов предыдущего контейнера нет (0)") return len(rows) -- 2.45.3