我如何获得协程的当前执行行?

时间:2019-04-21 06:42:57

标签: python-3.x

我最近开始使用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)

我正在寻找一种方法来填充“监视”协程中的功能,这将给我带来预期的结果

0 个答案:

没有答案