[tradein] port legacy-only sweep edge cases (cancel-midway / watchdog-timeout / SIGTERM-drain) onto kit run_*_city_sweep #2406

Open
opened 2026-07-04 11:10:13 +00:00 by lekss361 · 0 comments
Owner

Follow-up из deep-review PR #2405 (#2397 Part E1). При удалении legacy scrape_pipeline.py вместе с ним ушли 7 тест-файлов, покрывавших legacy-only orchestration edge-cases. Kit re-покрывает важные (ban→banned, partial-ban→done, consecutive-block abort — test_scraper_kit_pipeline_parity.py; cian newbuilding_only secondary-drop, domclick QRATOR-block→mark_failed, mark_done — test_scraper_kit_pipeline_parity2.py), но следующие edge-cases не пере-заассерчены против kit run_*_city_sweep:

  • cancel-midway — прерывание sweep в середине (shutdown_requested mid-loop) → корректный partial-result / статус.
  • anchor-watchdog timeout — таймаут якорной страницы (ANCHOR_TIMEOUT_SEC) → abort/skip.
  • SIGTERM-drain — graceful drain in-flight при остановке (было в test_sweep_drain.py).
  • (менее критично) per-item detail-error tolerance, houses-phase join, consecutive-failure abort на вторичных источниках.

Эти сценарии реально живут в kit-scheduler (scraper_kit.orchestration.scheduler + pipeline.run_*_city_sweep с shutdown_requested), просто нет явных unit-тестов после декоммишена legacy. Задача: добавить kit-only тесты на cancel/watchdog/drain семантику поверх kit sweeps.

Scope: S (test-only, kit уже реализует поведение). Не блокер — E1 замержен. Refs #2397, #2405.

Follow-up из deep-review PR #2405 (#2397 Part E1). При удалении legacy `scrape_pipeline.py` вместе с ним ушли 7 тест-файлов, покрывавших legacy-only orchestration edge-cases. Kit re-покрывает *важные* (ban→banned, partial-ban→done, consecutive-block abort — `test_scraper_kit_pipeline_parity.py`; cian `newbuilding_only` secondary-drop, domclick QRATOR-block→mark_failed, mark_done — `test_scraper_kit_pipeline_parity2.py`), но следующие edge-cases **не пере-заассерчены** против kit `run_*_city_sweep`: - **cancel-midway** — прерывание sweep в середине (`shutdown_requested` mid-loop) → корректный partial-result / статус. - **anchor-watchdog timeout** — таймаут якорной страницы (`ANCHOR_TIMEOUT_SEC`) → abort/skip. - **SIGTERM-drain** — graceful drain in-flight при остановке (было в `test_sweep_drain.py`). - (менее критично) per-item detail-error tolerance, houses-phase join, consecutive-failure abort на вторичных источниках. Эти сценарии реально живут в kit-scheduler (`scraper_kit.orchestration.scheduler` + `pipeline.run_*_city_sweep` с `shutdown_requested`), просто нет явных unit-тестов после декоммишена legacy. Задача: добавить kit-only тесты на cancel/watchdog/drain семантику поверх kit sweeps. Scope: S (test-only, kit уже реализует поведение). Не блокер — E1 замержен. Refs #2397, #2405.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: lekss361/gendesign#2406
No description provided.