Бот теряет асинхронность на вебхуке
Задеплоил бота на heroku, при использовании вебхуке треяет асинхронность то есть запускаю парсер и пока парсер работает и не могу дальше пользоваться ботом, а если использую лонг поллинг на heroku то могу запустить парсинг и дальше пользоваться ботом. Как можно исправить возможно проблема в настройках вебхука?
TOKEN = os.getenv('BOT_TOKEN')
bot = Bot(token=TOKEN)
dp = Dispatcher(bot)
HEROKU_APP_NAME = os.getenv('HEROKU_APP_NAME')
# webhook settings
WEBHOOK_HOST = f'https://{HEROKU_APP_NAME}.herokuapp.com'
WEBHOOK_PATH = f'/webhook/{TOKEN}'
WEBHOOK_URL = f'{WEBHOOK_HOST}{WEBHOOK_PATH}'
# webserver settings
WEBAPP_HOST = '0.0.0.0'
WEBAPP_PORT = os.getenv('PORT', default=8000)
async def on_startup(dispatcher):
await bot.set_webhook(WEBHOOK_URL, drop_pending_updates=True)
async def on_shutdown(dispatcher):
await bot.delete_webhook()
@dp.message_handler()
async def echo(message: types.Message):
await message.answer(message.text)
if __name__ == '__main__':
logging.basicConfig(level=logging.INFO)
start_webhook(
dispatcher=dp,
webhook_path=WEBHOOK_PATH,
skip_updates=True,
on_startup=on_startup,
on_shutdown=on_shutdown,
host=WEBAPP_HOST,
port=WEBAPP_PORT,
)
Парсер
async def parser(message: types.message):
url = "https://aues.edu.kz/ru/site/admissions/"
request = requests.get(url)
soup = BeautifulSoup(request.text, "html.parser")
all_links = soup.find_all("div", class_="addmission_news_part")
for link in all_links:
url = "https://aues.edu.kz/ru" + link.a["href"]
request = requests.get(url)
soup = BeautifulSoup(request.text, "html.parser")
nam = soup.find('div', class_="container col-md-10 ever_news")
img = "https://aues.edu.kz" + nam.img['src']
title = nam.img['alt']
await message.answer_photo(img,
caption="<b>" + title + "</b>\n<i>"f"</i>\n<a href='{url}'>Ссылка на статью</a>",
parse_mode="html")
if all_links.index(link) == 4:
break
if len(all_links) == 0:
await message.answer(message.chat.id, "Ничего не найдено")