收集任务的结果收集在asyncio.gather()中收集的协程

时间:2019-01-05 09:51:15

标签: python asynchronous python-asyncio aiohttp

我想永远执行两个由asyncio.gather()并行运行的任务。第一个任务包含一些逻辑,我想在True:循环中等待。第二个任务是asyncio.sleep(),它负责以相等的时间戳执行我的任务。我想在完成后立即在asyncio.gather()中获得第一个任务的结果。

async def main():
async with aiohttp.ClientSession() as session:
    while True:
        awaitingTime = calcAwaitingTime()
        data, _ = await asyncio.gather(BinanceClient.getLastSample(session), asyncio.sleep(awaitingTime))

if __name__ == '__main__':
loop = asyncio.get_event_loop()
task = loop.create_task(main())
loop.run_forever()

我想立即获得BinanceClient.getLastSample()的结果,而不要等到asyncio.sleep()也完成之后。也许您提出了永久执行这两项任务的另一种方法,以便更有可能获得它们的结果?

0 个答案:

没有答案