@Lepilov

Почему не полностью отрабатывает код?

Разбираюсь с asyncio, накидал простейший скрипт, но не могу понять почему не выполняется блок async def check2(). В каком месте не правильно ?

import asyncio

async def check1():
    print ("Start check1")
    await asyncio.sleep(1)
    print ("Check1 awake")
    
    
async def check2():
    print ("Start check2")
    await asyncio.sleep(1)
    print ("Check2 awake")
    
    
async def chain():
    print("Starting chain")
    p1 = await check1()
    p2 = await check2()
    print("Ending chain")
    
async def main():
    asyncio.gather(chain(), chain())
    
if __name__=="__main__":
    asyncio.get_event_loop().run_until_complete(main())


Вывод
Starting chain
Start check1
Starting chain
Start check1
  • Вопрос задан
  • 122 просмотра
Решения вопроса 1
1tone
@1tone
Software developer
`asyncio.gather` надо вызвать с `await`
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы