@@ -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