gendesign/backend/tests/workers
bot-backend 6982255fb3
All checks were successful
CI Trade-In / changes (pull_request) Successful in 7s
CI / changes (pull_request) Successful in 9s
CI Trade-In / backend-tests (pull_request) Has been skipped
CI Trade-In / browser-tests (pull_request) Has been skipped
CI Trade-In / frontend-checks (pull_request) Has been skipped
CI / frontend-tests (pull_request) Has been skipped
CI / openapi-codegen-check (pull_request) Successful in 1m54s
CI / backend-tests (pull_request) Successful in 17m0s
fix(workers): убрать max_retries, который ничего не делает (#2464)
11 тасок объявляли `max_retries=2`, но ретраи не реализовывали: ни
`autoretry_for` в декораторе, ни вызова `self.retry()` в теле. Celery в
таком виде параметр не применяет — при исключении таска падает с первой
попытки. Читающий код видит «до 3 попыток», а их одна.

Убран `max_retries` у: cbr_macro_sync, rosstat_macro_sync,
developer_registry_refresh, location_refresh, mv_sales_tracker_refresh,
refresh_analytics, refresh_layout_velocity, refresh_quarter_price_index,
scrape_objective.sync_objective_group, supply_layers_refresh,
scrape_kn.scrape_kn_region. Заодно убран `bind=True` там, где `self` не
использовался вовсе; в `scrape_kn_region` он оставлен — `self.request.id`
пишется в kn_scrape_log.

Не тронуты и не должны быть: `resume_kn_run` (max_retries=12 +
настоящий self.retry()), `nspd_sync`/`scrape_cadastre` (autoretry_for),
`nspd_geo`/`objective_etl` (max_retries=0 — честное «ретраев нет»).

Гейт `test_2464_retry_config_is_real.py` разбирает AST всех модулей
`app/workers/tasks/` и требует: если декоратор объявляет ненулевой
max_retries, в нём есть autoretry_for либо в теле функции есть
self.retry(). Три таски из одиннадцати гейт нашёл сверх списка эпика.

Проверка гейта: с фиксом зелено, при возврате `max_retries=2` в
supply_layers_refresh — красно с указанием на эту таску. Плюс два
контроля: гейт видит ≥20 тасок (не молчит из-за пустой выборки) и
признаёт обе законные формы ретраев.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-20 17:17:38 +05:00
..
tasks fix(scrapers): rate-limit/backoff/circuit-breaker для ОКН EGRKN-скрапера (#2445-D3) (#2461) 2026-07-05 20:09:18 +00:00
test_2464_objective_run_not_stuck.py fix(ptica): упавший прогон Объектива помечается failed, а не висит running вечно (#2464) (#2972) 2026-08-20 11:04:07 +00:00
test_2464_retry_config_is_real.py fix(workers): убрать max_retries, который ничего не делает (#2464) 2026-08-20 17:17:38 +05:00
test_backfill_zone_regulations.py feat(site-finder): backfill ЕКБ зон-регламента — разблокировать видимость финмодели (#1881) 2026-06-24 02:11:41 +05:00
test_cbr_macro_sync.py fix(sql): EMISS PK includes period_type so yearly+Q1 coexist (#1606 follow-up) 2026-06-17 21:27:34 +03:00
test_genplan_zones_sync.py fix(sf): ST_MakeValid genplan geom + backfill 881 invalid polygons (#1157) 2026-06-07 17:59:04 +00:00
test_ird_harvest.py fix(sf): per-quarter commit в ird/opportunity harvest — не терять прогресс при краше (#1107) 2026-06-06 21:47:35 +00:00
test_krt_geometry_sync.py perf(sf): КРТ-геометрия в БД, _krt_at из БД вместо живого WFS (#1139) 2026-06-07 12:14:35 +00:00
test_nspd_geo.py test: выровнять weather_cache/nspd_geo тесты под #1377/#1336 (CI red→green) 2026-06-16 08:35:14 +03:00
test_opportunity_harvest.py feat(sf): opportunity-ЗУ harvest → ird_overlays (future-supply, #1100) 2026-06-06 19:32:45 +00:00
test_planning_harvest.py feat(sf): ППТ/ПМТ WFS ingest → planning_projects (future-supply, #1104) 2026-06-06 20:25:23 +00:00
test_reservation_ingest.py fix(backend): reservation_ingest пейсинг + короткоживущая DB-сессия (#2445-D4) (#2458) 2026-07-05 20:09:00 +00:00
test_riasurt_sverdl_harvest.py merge main + renumber 163→167 + guard riasurt harvest (#108 review) 2026-06-17 22:52:15 +03:00
test_rosstat_macro_sync.py fix(sql): EMISS PK includes period_type so yearly+Q1 coexist (#1606 follow-up) 2026-06-17 21:27:34 +03:00
test_scrape_cadastre.py fix(workers): cadastre permanent-fail targets_failed + beat cleanup (#1236) 2026-06-13 08:36:13 +00:00
test_scrape_freshness_check.py feat(workers): data-freshness monitor (Celery beat → GlitchTip) 2026-06-25 11:29:34 +00:00
test_scrape_kn_catalog_flats.py feat(scrapers): wire per-flat DOM.РФ catalog scraper + propagate catalog_url_hash (#2442) (#2444) 2026-07-05 17:00:58 +00:00
test_scrape_kn_catalog_objects.py feat(22d): catalog scraper — skip-today filter + force flag (#348) 2026-05-17 23:15:22 +00:00
test_supply_layers_refresh.py fix(supply-layers): thread dev_group_name into L3 upsert key (#970 CRITICAL) 2026-06-04 10:06:30 +05:00
test_zone_regulation_refresh.py feat(sf): прогрев zone_regulation_cache по терзонам ЕКБ (#1106) 2026-06-06 21:04:52 +00:00