我最近开始使用python3 asyncio。我正在运行一个Web服务器,该服务器基本上将GET请求发送到不同的Web服务器,以不同的格式显示收集的数据。 所以我想做的是一些如何跟踪协程当前的执行线。
async def foo(i):
while True:
await asyncio.sleep(1) # First line
await asyncio.sleep(1) # Second line
await asyncio.sleep(1) # Third line
await asyncio.sleep(1) # Fourth line
async def montior(coroutines_to_track):
while True:
await asyncio.sleep(5)
for coroutine in coroutines_to_track:
print("Corutine {} is in currently in line {}".format(
corutine.get_name_and_args(),# This is what im looking for!
corutine.get_current_line(),# This is what im looking for!
))
import asyncio
coroutines = [foo(i) for i in range(10)]
coroutines = coroutines + [monitor(coroutines)]
asyncio.run_until_complete(coroutines)
我正在寻找一种方法来填充“监视”协程中的功能,这将给我带来预期的结果