我正在使用asyncio运行一段阻塞代码,如下所示:
result = await loop.run_in_executor(None, long_running_function)
我的问题是:我可以对
long_running_function
的执行强加超时吗?基本上,我不希望
long_running_function
持续超过2秒,并且我无法在其中进行适当的超时处理,因为该函数来自第三方库。 最佳答案
您可以使用asyncio.wait_for:
future = loop.run_in_executor(None, long_running_function)
result = await asyncio.wait_for(future, timeout, loop=loop)
关于python - 使用run_in_executor和asyncio时的超时处理,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34452590/