Пишу телеграмм бота, который парсит данные с сайта (объявления). Сайт довольно часто обновляется, поэтому необходимо постоянно делать запросы на сайт: "не прилетело ли новое объявление"?
Собственно, поэтому было принято решение обернуть эти запросы в бесконечный цикл. Написав пару декораторов и один бесконечный цикл для обработки сообщений, я понял, (естественно) при этом скрипт само собой не может выполнить декораторы обработки входящих сообщений, тк висит в цикле.
Скрипт пишу на python с асинхронной библиотекой aiogram (изначально думал что она мне как-то поможет).
Вопрос состоит в следующем: как можно распараллелить данные процессы, чтобы и обновления отслеживать, и при этом обрабатывать входящие сообщения
ЗЫ: бота переписываю уже не первый раз, пытался найти ответ сам, хотел сюда прикрутить потоки или процессы, но не могу понять что в моем случае оптимальнее раз на то пошло, и как это правильно обыграть?
цикл в коде просто для отладки, ровно как и print в этом цикле
spoilerimport config
import aiogram
from aiogram import Bot, Dispatcher, executor, types
API_TOKEN = config.token
# Инициализация бота и диспетчера
bot = Bot(token=API_TOKEN)
dp = Dispatcher(bot)
#------------------------Цикл ---------------------------------------------------------------
#Будущий парсер
while 1:
print('цикл')
#------------------------Блок обработки входящих сообщений------------------------------
@dp.message_handler(commands=['start']) #Приветствие
async def echo(message: types.Message):
await message.answer('''Здравствуйте Вы подключились к боту . Чтобы узнать возможности Бота введите команду /help''')
@dp.message_handler(commands=['help']) #Помощь
async def echo(message: types.Message):
await message.answer('help')
@dp.message_handler(commands=['add']) #Функция добавления фильтра
async def echo(message: types.Message):
await message.answer('add')
if __name__ == '__main__':
executor.start_polling(dp, skip_updates=True)