Ответы пользователя по тегу AIOHTTP
  • Почему не может найтись модуль aiogram.client?

    drygdryg
    @drygdryg
    Python-разработчик
    Видимо, у вас установлена версия 2.x aiogram: в ней нет пакета aiogram.client. Установите версию 3.x так:
    pip install aiogram==3.0.0b7
    либо так:
    pip install --pre -U aiogram
    Ответ написан
    Комментировать
  • Как запустить фоновую функцию в боте телеграм построенную на библиотеке aoigram?

    drygdryg
    @drygdryg
    Python-разработчик
    Во-первых, если вы хотите выполнять фоновую задачу в том же процессе, где работает aiogram, не используйте библиотеки с блокирующим вводом/выводом (каковой является Requests), иначе ваш бот будет блокироваться (не будет реагировать на события из Telegram) во время осуществления HTTP-запроса. Лучше использовать асинхронные aiohttp либо httpx.
    Если при выполнении вашей задачи больше всего времени занимает ввод-вывод (то есть она является I/O-bound), можно использовать AsyncIOScheduler из APScheduler и делать асинхронный HTTP-запрос через aiohttp либо httpx.
    В противном случае, если больше всего времени занимают вычисления (то есть задача является CPU-bound), можно использовать BackgroundScheduler из того же APScheduler и делать синхронный HTTP-запрос через Requests или httpx. В качестве executor'а используйте ProcessPoolExecutor, чтобы задача выполнялась в отдельном процессе и по возможности на отдельном ядре CPU.
    https://apscheduler.readthedocs.io/en/3.x/userguid...
    UPD: если не требуется столь мощный функционал планирования задач, который предоставляет APScheduler, и всего лишь нужно выполнить функцию прямо сейчас, просто создавайте задачу asyncio, как упомянул выше SHADRIN.
    Ответ написан
    Комментировать
  • Python telegraph асинхронный upload изображений, как сделать?

    drygdryg
    @drygdryg
    Python-разработчик
    Используйте aiohttp либо httpx в качестве HTTP-клиента вместо Requests, т.к. последний не поддерживает asyncio.
    Ответ написан
    Комментировать