We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent 0fe7759 commit 7eac0a8Copy full SHA for 7eac0a8
src/connectrpc/_client_async.py
@@ -333,7 +333,15 @@ async def _do_request() -> None:
333
task = asyncio.create_task(_do_request())
334
task.add_done_callback(_consume_task_result)
335
try:
336
- item = await result_queue.get()
+ try:
337
+ if timeout_s is None:
338
+ item = await result_queue.get()
339
+ else:
340
+ item = await asyncio.wait_for(result_queue.get(), timeout_s)
341
+ except asyncio.TimeoutError:
342
+ if not task.done():
343
+ task.cancel()
344
+ raise
345
if isinstance(item, BaseException):
346
raise item
347
return cast("RES", item)
0 commit comments