@griona

Асинхронные функции и цикл событий. RuntimeWarning: coroutine 'Application.initialize' was never awaited?

После добавления функционала в код, появляется ошибка:
raise RuntimeError("Cannot close a running event loop")
RuntimeError: Cannot close a running event loop
<sys>:0: RuntimeWarning: coroutine 'Application.shutdown' was never awaited
<sys>:0: RuntimeWarning: coroutine 'Application.initialize' was never awaited

Ошибки, связаны с неправильным управлением асинхронным контекстом и циклом событий. Нужно изменить подход к инициализации и запуску Telegram бота. Проблема с "Cannot close a running event loop" может быть также связана с тем, что код запускает цикл событий, который уже работает. Как предотвратить конфликты с существующими циклами событий и их закрытием?
  • Вопрос задан
  • 125 просмотров
Пригласить эксперта
Ответы на вопрос 2
Vindicar
@Vindicar
RTFM!
:0: RuntimeWarning: coroutine 'Application.shutdown' was never awaited
:0: RuntimeWarning: coroutine 'Application.initialize' was never awaited

Ты вызываешь указанные функции как обычные (Application.initialize()), а это корутины. Их так вызывать бесполезно. Если ты их вызываешь внутри другой корутины (async def функции), то можешь исправить вызов на await Application.initialize(). Если же ты пытаешься вызвать их из обычной функции (просто def), то все становится куда сложнее...
Ответ написан
Комментировать
2ord
@2ord
was never awaited
означает, что нужно добавить ключевое слово await.
А, вообще, горячо рекомендую пройти курс по асинхронному программированию в Питоне.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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