Spaces:
Sleeping
Sleeping
Fix: orchestrator callback mismatch
Browse files- backend/main.py +9 -9
- 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 |
-
|
| 60 |
-
|
| 61 |
-
|
| 62 |
-
|
| 63 |
except Exception as exc:
|
| 64 |
logger.exception("Error in background trip search %s", search_id)
|
| 65 |
-
|
| 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
|
|
|