Как реализовать параллельную работу телеграм-бота и бесконечного цикла с помощью aiogram? (Python)
Есть бот, обрабатывающий команды пользователя. Также в коде есть цикл, ежеминутно парсящий данные и при определенных параметрах присылает пользователю сообщение. Каким образом запустить их одновременно? Через telebot получалось в двух скриптах запустить, но бот гасился через несколько минут. Через aiogram бот работает вроде как корректно, но параллельно боту не выполняется парсинг.
Кусок кода выглядит примерно таким образом:
@dp.message_handler(commands=['start'])
async def process_command(message: types.Message):
*** обработчик команды ***
def parse():
*** парсит данные и присылает пользователям ботом ***
def main():
executor.start_polling(dispatcher=dp)
if __name__ == '__main__':
main()
Ответы (1 шт):
Автор решения: ttraceroute
→ Ссылка
Разобрался сам:
if __name__ == '__main__':
loop = asyncio.get_event_loop()
loop.create_task(main())
executor.start_polling(dp)
В данном случае main() - функция-парсер dp - Dispatcher()