我想永远执行两个由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()也完成之后。也许您提出了永久执行这两项任务的另一种方法,以便更有可能获得它们的结果?