Bas95 commited on
Commit
08e87fb
·
verified ·
1 Parent(s): 649703e

Fix: orchestrator callback mismatch

Browse files
Files changed (2) hide show
  1. backend/main.py +9 -9
  2. sessions.json +0 -0
backend/main.py CHANGED
@@ -55,18 +55,18 @@ app.add_middleware(
55
  async def _run_search(search_id: str, request: TripSearchRequest) -> None:
56
  """Run the trip search and feed progress into the per-search queue."""
57
  queue: asyncio.Queue = searches[search_id]["queue"]
 
 
 
 
58
  try:
59
- async for progress in run_trip_search(request):
60
- await queue.put(progress)
61
- if isinstance(progress, SearchProgress) and progress.step == "done":
62
- break
63
  except Exception as exc:
64
  logger.exception("Error in background trip search %s", search_id)
65
- # Push an error sentinel so the SSE stream can close cleanly
66
- error_progress = SearchProgress(
67
- step="error", message=str(exc), progress=0
68
- )
69
- await queue.put(error_progress)
70
  searches[search_id]["status"] = "error"
71
  return
72
 
 
55
  async def _run_search(search_id: str, request: TripSearchRequest) -> None:
56
  """Run the trip search and feed progress into the per-search queue."""
57
  queue: asyncio.Queue = searches[search_id]["queue"]
58
+
59
+ def progress_callback(p: SearchProgress) -> None:
60
+ queue.put_nowait(p)
61
+
62
  try:
63
+ results = await run_trip_search(request, progress_callback)
64
+ searches[search_id]["results"] = results
65
+ # Push the results list directly so the SSE handler emits the "results" event
66
+ await queue.put(results)
67
  except Exception as exc:
68
  logger.exception("Error in background trip search %s", search_id)
69
+ await queue.put(SearchProgress(step="error", message=str(exc), progress=0))
 
 
 
 
70
  searches[search_id]["status"] = "error"
71
  return
72
 
sessions.json ADDED
The diff for this file is too large to render. See raw diff