|
All checks were successful
CI / changes (push) Successful in 8s
CI / frontend-tests (pull_request) Has been skipped
CI / openapi-codegen-check (pull_request) Has been skipped
CI / backend-tests (push) Has been skipped
CI / frontend-tests (push) Has been skipped
CI / openapi-codegen-check (push) Has been skipped
CI / changes (pull_request) Successful in 6s
CI / backend-tests (pull_request) Has been skipped
Generalize the avito-only stale-listing deactivation into a per-source,
segment-aware task and enable it for yandex/cian vtorichka.
Why segment-aware (not blanket TTL like avito): yandex/cian city sweeps do
not maintain full inventory coverage (cian_city_sweep disabled, yandex narrow
5-anchor nightly sweep refreshes ~48/day of 3969 active). A blanket TTL would
deactivate live inventory — including 9659 active first-party novostroyki —
because 'not seen in N days' means 'not re-covered', not 'sold'. So yandex/cian
deactivate ONLY listing_segment='vtorichka' at TTL=30; novostroyki and
NULL-segment are protected. avito unchanged (all segments, TTL=10).
- deactivate_stale_listings(db, run_id, *, listing_source, ttl_days, segments)
generic fn; deactivate_stale_avito_listings kept as back-compat wrapper.
- scheduler dispatch: source.startswith('deactivate_stale_') -> generic trigger
reading listing_source/ttl_days/segments from default_params jsonb.
- 114 seed: deactivate_stale_yandex + deactivate_stale_cian (vtorichka, TTL=30).
- segments is None => all segments; [] => none (ANY(ARRAY[]) matches nothing).
Refs #759
|
||
|---|---|---|
| .. | ||
| __init__.py | ||
| asking_to_sold_ratio.py | ||
| avito_detail_backfill.py | ||
| cian_history_backfill.py | ||
| deactivate_stale_avito.py | ||
| geocode_missing.py | ||
| listing_source_snapshot.py | ||
| newbuilding_enrich_backfill.py | ||
| refresh_search_matview.py | ||
| rosreestr_quarter_poll.py | ||
| sber_index_pull.py | ||
| yandex_address_backfill.py | ||
| yandex_detail_backfill.py | ||
| yandex_newbuilding_sweep.py | ||