Не работает периодический вызов функции у телеграм бота с вебхуком Heroku

Есть полностью рабочий бот, который хостится на хероку, пытаюсь добавить функцию ежеминутного парсинга сайта. По привычке делаю это следующим образом:

async def check(wait_for):
    print("Debug: check is awaited")
    while True:
        print("Debug: inside while")
        await asyncio.sleep(wait_for)
        print("after sleep")
        transactions = parsing()
        if transactions:....

if __name__ == '__main__':
    loop = asyncio.get_event_loop()
    task = loop.create_task(check(60))
    background_tasks.add(task)
    start_webhook(
        dispatcher=dp,
        webhook_path=WEBHOOK_PATH,
        on_startup=on_startup,
        on_shutdown=on_shutdown,
        skip_updates=True,
        host=WEBAPP_HOST,
        port=WEBAPP_PORT
    )

Если заменить старт вебхука на executor.start_polling(dp), всё работает, однако с вебхуком возникает проблема:

2022-08-21T13:19:18.223861+00:00 heroku[web.1]: Starting process with command `python3 main.py`
2022-08-21T13:19:20.080027+00:00 heroku[web.1]: State changed from starting to up
2022-08-21T13:19:19.871119+00:00 app[web.1]: /app/main.py:235: DeprecationWarning: There is no current event loop
2022-08-21T13:19:19.871136+00:00 app[web.1]:   loop = asyncio.get_event_loop()
2022-08-21T13:19:19.871720+00:00 app[web.1]: Debug: check is awaited
2022-08-21T13:19:19.871723+00:00 app[web.1]: Debug: inside while
2022-08-21T13:19:19.967417+00:00 app[web.1]: WARNING:aiogram:Updates were skipped successfully.
2022-08-21T13:19:20.047019+00:00 app[web.1]: ======== Running on http://0.0.0.0:53349 ========
2022-08-21T13:19:20.047035+00:00 app[web.1]: (Press CTRL+C to quit)

Заветное "after sleep" так и не получаю, функция как будто завершает свою работу после старта вебхука. Что нужно сделать, чтобы этого не происходило?


Ответы (0 шт):