Как использовать асинхронные функций python в Colaboratory Google?

Добрый день. Изучаю асинхронные функции python с помощью сервиса Colaboratory Google. Прошу помощь сообщества так как функция не запускается. Есть простой пример:

import asyncio
import time
async def waiter() -> None:
    await cook('Паста', 8)
    await cook('Салат Цезарь', 3)
    await cook('Отбивные', 16)

async def cook(order, time_to_prepare):
    print(f'Новый заказ: {order}')
    await asyncio.sleep(time_to_prepare)
    print(order, '- готово')

asyncio.run(waiter())


При запуске в https://colab.research.google.com/ выдает ошибку

asyncio.run() cannot be called from a running event loop


При замене "asyncio.run(waiter())" на "await waiter()" тоже возникает ошибка:
'await' outside function

Подскажите пожалуйста как запустить функцию waiter()?

Ссылка на блокнот с скриптом https://colab.research.google.com/...
  • Вопрос задан
  • 1471 просмотр
Решения вопроса 1
В ошибки же явно указано, без event_loop не взлетим
замените run на a
syncio.get_event_loop().run_until_complete(waiter())

и заработает, а ещё прочитайте материал про данный модуль
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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