Задать вопрос
Ответы пользователя по тегу AIOHTTP
  • Как решить ошибку с клиентом aiohttp с подключением к хосту discord?

    2ord
    @2ord
    Это обычно временная ошибка резолвинга DNS, которая порой может происходить: нужно отлавливать ошибку и делать повторную попытку.
    Ответ написан
    Комментировать
  • Парсер получает ответ 403, как исправить?

    2ord
    @2ord
    Просто не надо долбить целевой сервер большим количеством одновременных запросов.
    Проверять в заголовке "Retry-After" и повторять попытку позже когда сервер слишком занят.
    Можно использовать asyncio.Semaphore для ограничения одновременного кол-ва запросов.
    Ответ написан
  • Как спроектировать python приложению, реализующее консьюмера RabbitMQ и требующего HealthCheck?

    2ord
    @2ord
    У приложения потребителя очереди должен иметься менеджер соединения с RabbitMQ. Как только соединение было установлено, запускается поток с веб-сервером и health-check. У потребителя очереди - основой поток, у веб-сервера - дочерний. Каждый работает независимо друг от друга. Для менеджера соединения с RabbitMQ может использоваться функция обратного вызова в библиотеке.
    Таким образом, при вызове /health (или /health/live) всегда возвращается статус 200.
    При внезапном разрыве соединения с RabbitMQ менеджер соединения приложения штатным образом пытается восстановить соединение (скажем, до N раз каждую секунду) и если облом, то выходим из приложения с ненулевым статусом (допустим, 1). Если приложение падает, то вместе с ним и health-check, что вызовет триггер по перезапуску приложения у процесса, который ведет мониторинг приложения.
    Мониторинг самого RabbitMQ обычно ведется отдельными от приложения средствами. RabbitMQ может запускаться как on premises, так и в SaaS (допустим, CloudAMQP).
    Ответ написан
    Комментировать