API: Fix race condition when client disconnects

This commit is contained in:
turboderp
2025-10-05 21:23:02 +02:00
parent 52e093ae6c
commit d672dc2137
3 changed files with 6 additions and 15 deletions

View File

@@ -61,10 +61,7 @@ async def _stream_collector(data: GenerateRequest, request: Request):
async for generation in generator:
if disconnect_task.done():
abort_event.set()
handle_request_disconnect(
f"Kobold generation {data.genkey} cancelled by user."
)
raise CancelledError()
text = generation.get("text")
@@ -78,7 +75,7 @@ async def _stream_collector(data: GenerateRequest, request: Request):
break
except CancelledError:
# If the request disconnects, break out
if not disconnect_task.done():
if not abort_event.is_set():
abort_event.set()
handle_request_disconnect(
f"Kobold generation {data.genkey} cancelled by user."