We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent 0e6d109 commit 481bc6eCopy full SHA for 481bc6e
2 files changed
backend/routers/create.py
@@ -168,11 +168,15 @@ async def event_stream():
168
yield _sse_event("session", {"session_id": session.session_id})
169
170
agent_iter = agent.chat(session, user_message).__aiter__()
171
+ next_coro = None
172
while True:
173
+ if next_coro is None:
174
+ next_coro = asyncio.ensure_future(agent_iter.__anext__())
175
try:
176
event = await asyncio.wait_for(
- agent_iter.__anext__(), timeout=_KEEPALIVE_INTERVAL
177
+ asyncio.shield(next_coro), timeout=_KEEPALIVE_INTERVAL
178
)
179
180
yield _sse_event(event["event"], event["data"])
181
except asyncio.TimeoutError:
182
yield ": keepalive\n\n"
0 commit comments