Skip to content

Commit 7eac0a8

Browse files
committed
Unary timeout
1 parent 0fe7759 commit 7eac0a8

File tree

1 file changed

+9
-1
lines changed

1 file changed

+9
-1
lines changed

src/connectrpc/_client_async.py

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -333,7 +333,15 @@ async def _do_request() -> None:
333333
task = asyncio.create_task(_do_request())
334334
task.add_done_callback(_consume_task_result)
335335
try:
336-
item = await result_queue.get()
336+
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
337345
if isinstance(item, BaseException):
338346
raise item
339347
return cast("RES", item)

0 commit comments

Comments
 (0)