File tree Expand file tree Collapse file tree 1 file changed +9
-8
lines changed
coagent/agents/react_agent Expand file tree Collapse file tree 1 file changed +9
-8
lines changed Original file line number Diff line number Diff line change @@ -106,8 +106,13 @@ async def handle_history(
106106
107107 loop = AgentLoop (self )
108108 result = loop .run (input = input , data = data )
109- async for item in result .stream_events ():
110- yield OutputMessage (item = item ) # type: ignore
109+
110+ try :
111+ async for item in result .stream_events ():
112+ yield OutputMessage (item = item ) # type: ignore
113+ except asyncio .CancelledError :
114+ result .cancel () # Clean up resources.
115+ raise
111116
112117
113118DEFAULT_MAX_TURNS = 10
@@ -139,17 +144,13 @@ async def stream_events(self) -> AsyncIterator[StreamEvent]:
139144 if self ._cancel_event .is_set ():
140145 break
141146
142- try :
143- item = await self ._queue .get ()
144- except asyncio .CancelledError :
145- break
147+ item = await self ._queue .get ()
148+ self ._queue .task_done ()
146149
147150 if isinstance (item , QueueCompleteSentinel ):
148- self ._queue .task_done ()
149151 break
150152
151153 yield item
152- self ._queue .task_done ()
153154
154155
155156class AgentLoop :
You can’t perform that action at this time.
0 commit comments