wrongmove/services
Viktor Barzin 791b5a9d55
Fix real-time task progress by closing WS on pubsub exit and keeping polling active
Three interconnected bugs prevented progress updates from reaching the frontend:

1. _forward_pubsub could exit silently while _handle_client_messages kept
   the WebSocket alive (responding to pings), so the client never detected
   the broken forwarding path. Replace asyncio.gather with asyncio.wait
   (FIRST_COMPLETED) so both coroutines are cancelled together.

2. Polling was stopped on WS connect with no fallback if forwarding broke.
   Now polling runs always alongside WebSocket as a safety net.

3. Redis publish failures in task_progress_publisher were logged at DEBUG
   and the broken client was reused forever. Log at WARNING and reset the
   client so the next call reconnects.
2026-02-09 22:48:57 +00:00
..
__init__.py Flatten repo structure: move crawler/ to root, remove vqa/ and immoweb/ 2026-02-07 23:01:20 +00:00
district_service.py Flatten repo structure: move crawler/ to root, remove vqa/ and immoweb/ 2026-02-07 23:01:20 +00:00
export_service.py Flatten repo structure: move crawler/ to root, remove vqa/ and immoweb/ 2026-02-07 23:01:20 +00:00
floorplan_detector.py Flatten repo structure: move crawler/ to root, remove vqa/ and immoweb/ 2026-02-07 23:01:20 +00:00
image_fetcher.py Flatten repo structure: move crawler/ to root, remove vqa/ and immoweb/ 2026-02-07 23:01:20 +00:00
listing_cache.py Fix duplicate listings via staged Redis cache and frontend stream cancellation 2026-02-09 21:17:30 +00:00
listing_fetcher.py Fix buy listing support: thread ListingType through processing pipeline 2026-02-07 23:34:08 +00:00
listing_service.py Flatten repo structure: move crawler/ to root, remove vqa/ and immoweb/ 2026-02-07 23:01:20 +00:00
passkey_service.py Flatten repo structure: move crawler/ to root, remove vqa/ and immoweb/ 2026-02-07 23:01:20 +00:00
poi_distance_calculator.py Fix POI distance calculation reliability for remote/Celery execution 2026-02-08 20:11:12 +00:00
poi_service.py Add POI repository and service layer 2026-02-08 13:13:17 +00:00
query_splitter.py Flatten repo structure: move crawler/ to root, remove vqa/ and immoweb/ 2026-02-07 23:01:20 +00:00
route_calculator.py Flatten repo structure: move crawler/ to root, remove vqa/ and immoweb/ 2026-02-07 23:01:20 +00:00
task_progress_publisher.py Fix real-time task progress by closing WS on pubsub exit and keeping polling active 2026-02-09 22:48:57 +00:00
task_service.py Add real-time WebSocket task progress with multi-job drawer 2026-02-09 21:31:45 +00:00