Ограничьте число одновременно выполняемых запросов семафором или очередью с пятью workers. Шестой запрос должен ждать свободного слота либо получать понятный отказ.
Задача: есть сервис с ограничением в 5 параллельных запросов к LLM. При 6-м запросе приходит 429. Как решить эту проблему концептуально?
Ограничьте число одновременно выполняемых запросов семафором или очередью с пятью workers. Шестой запрос должен ждать свободного слота либо получать понятный отказ.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Ограничьте число одновременно выполняемых запросов семафором или очередью с пятью workers. Шестой запрос должен ждать свободного слота либо получать понятный отказ.
Если приложение имеет несколько экземпляров, локальный лимит каждого не ограничивает общий API-ключ: нужен общий диспетчер или распределённые разрешения. Добавьте timeout ожидания, отмену, ограничение очереди и backoff для 429. Лимит конкурентности не заменяет отдельные ограничения запросов и токенов в минуту.