@molodoy_arsen

Как сделать независимый while в python?

У меня есть функция search(), которая возвращает данные с сайта в словарь. С помощью постоянного ее вызовы мне надо обновлять данные в словаре + по запросу пользователя в телеграмме отправлять ему актуальную версию словаря. Как это можно сделать?
  • Вопрос задан
  • 74 просмотра
Пригласить эксперта
Ответы на вопрос 1
Vindicar
@Vindicar
RTFM!
1. Не надо так делать. Сайту твоя долбёжка запросами не понравится. Как минимум, введи задержку от 10 минут и более.
2. Ты ознакомился с тем, как вообще работают асинхронные приложения? Судя по терминологии вроде "независимый while", нет. Почитай на эту тему, она не тривиальная, но без понимания основ асинхронщины ты далеко не уедешь.
3. Зависит от библиотеки, но так или иначе тебе нужна корутина, которая сначала делает запрос к сайту (лучше тоже асинхронно, с помощью aiohttp) и обновляет хранимые в кэше сведения, а потом спит нужный интервал времени (и не с помощью time.sleep()!). Эту корутину надо запустить в рабочем цикле (loop) asyncio, а потом уже запускать остального бота. Тогда боту практически всегда будет доступен этот кэш.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы
28 нояб. 2024, в 13:00
70000 руб./за проект
28 нояб. 2024, в 12:59
30000 руб./за проект
28 нояб. 2024, в 12:58
5000 руб./за проект