Skip to content

Commit e276f6c

Browse files
committed
Cancel whole conversation
Signed-off-by: Samuel Monson <[email protected]>
1 parent a7bf690 commit e276f6c

File tree

1 file changed

+8
-1
lines changed

1 file changed

+8
-1
lines changed

src/guidellm/scheduler/worker.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -314,6 +314,7 @@ async def _cancel_requests_loop(self):
314314
self._send_update("cancelled", None, request, request_info)
315315

316316
async def _process_next_request(self):
317+
conversation: MultiTurnT[RequestT] | None = None
317318
request: RequestT | None = None
318319
request_info: ScheduledRequestInfo | None = None
319320
response: ResponseT | None = None
@@ -362,7 +363,7 @@ async def _process_next_request(self):
362363
history.append((request, response))
363364
self.turns_queue.append((history, conversation))
364365

365-
response = request = request_info = None
366+
response = request = request_info = conversation = None
366367
except asyncio.CancelledError:
367368
# Handle cancellation
368369
if request is not None and request_info is not None:
@@ -375,6 +376,12 @@ async def _process_next_request(self):
375376
request_info.error = str(exc)
376377
request_info.scheduler_timings.resolve_end = time.time()
377378
self._send_update("errored", response, request, request_info)
379+
finally:
380+
if conversation is not None:
381+
for request, _, request_info in conversation:
382+
request_info.error = "Request was cancelled"
383+
request_info.scheduler_timings.resolve_end = time.time()
384+
self._send_update("cancelled", response, request, request_info)
378385

379386
def _send_update(
380387
self,

0 commit comments

Comments
 (0)