@@ -314,6 +314,7 @@ async def _cancel_requests_loop(self):
314
314
self ._send_update ("cancelled" , None , request , request_info )
315
315
316
316
async def _process_next_request (self ):
317
+ conversation : MultiTurnT [RequestT ] | None = None
317
318
request : RequestT | None = None
318
319
request_info : ScheduledRequestInfo | None = None
319
320
response : ResponseT | None = None
@@ -362,7 +363,7 @@ async def _process_next_request(self):
362
363
history .append ((request , response ))
363
364
self .turns_queue .append ((history , conversation ))
364
365
365
- response = request = request_info = None
366
+ response = request = request_info = conversation = None
366
367
except asyncio .CancelledError :
367
368
# Handle cancellation
368
369
if request is not None and request_info is not None :
@@ -375,6 +376,12 @@ async def _process_next_request(self):
375
376
request_info .error = str (exc )
376
377
request_info .scheduler_timings .resolve_end = time .time ()
377
378
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 )
378
385
379
386
def _send_update (
380
387
self ,
0 commit comments