coro任务超时取消
uasyncio.wait_for
等待一个协程,如果在给定的超时时间内未完成,则引发一个异常。。
uasyncio.wait_for(coro, timeout)
名称 |
说明 |
coro |
协程对象 |
timeout |
超时时间, 单位是秒, int/float类型 |
from usr import uasyncio as asyncio
async def bar(x):
count = 0
while True:
count += 1
print('Instance: {} count: {}'.format(x, count))
await asyncio.sleep(2) # Pause 1s
print("sleep count instance = {} count = {}".format(x, count))
async def main():
"""设置协程wait task"""
task = asyncio.wait_for(bar(10), 7)
"""启动协程, 上面协程表示在7秒内如果执行的task没退出,则关闭协程, 跑出error"""
asyncio.run(task)
await asyncio.sleep(10)
asyncio.run(main())
uasyncio.wait_for_ms
- 这个函数的功能和 wait_for 类似,但是超时时间的单位是毫秒。
uasyncio.wait_for_ms(coro, timeout)
名称 |
说明 |
coro |
协程对象 |
timeout |
超时时间, 单位是毫秒, int/float类型 |