Новости и разборы
Лимиты API: как распределять бюджет запросов между процессами
Как учитывать лимиты API на уровне аккаунта, делить запросы между процессами, обрабатывать HTTP 429 и сохранять сроки важных задач.
Ночная выгрузка запускается без ошибок, а утром сотрудники не могут обновить клиентские записи. Причина может быть в общем лимите внешнего API: пакетная обработка, интерфейс и служебные проверки расходуют один ресурс. Каждый процесс выглядит аккуратным по отдельности, но вместе они превышают допустимую частоту запросов.
Поэтому лимиты API стоит рассматривать как общий бюджет команды. Важно знать не только число запросов в секунду, но и границу ограничения: аккаунт, endpoint, ключ, тариф или другой уровень. От этого зависит, нужно ли координировать несколько исполнителей и как распределить доступную пропускную способность.
Что показывает обновление Twilio Content API
В публикации Twilio от 30 сентября 2026 года описаны ограничения Content API на уровне аккаунта и ответы HTTP 429 при превышении. Числа различаются по операциям: например, Fetch Content получает лимит 100 запросов в секунду, а List Content — 20. Update Content также указан с 20 запросами в секунду.
Эти значения относятся к перечисленным endpoint Content API. Нельзя переносить их на Voice, Verify, другие продукты Twilio или сторонние сервисы. Для проектирования интеграции нужен собственный реестр: операция, действующий лимит, область его применения и ссылка на документацию.
Разные ключи доступа не обязательно создают независимые бюджеты. Если провайдер считает запросы на уровне аккаунта, несколько ключей остаются участниками одной квоты. Это особенно важно, когда интеграцию поддерживают разные команды, а фоновые скрипты запускаются независимо от пользовательского приложения.
Частота и параллельность решают разные задачи
Ограничение числа одновременных работников защищает вычислительные ресурсы, но не всегда соблюдает лимит запросов. Один работник может отправлять десятки коротких обращений подряд; несколько медленных работников — мало запросов за тот же промежуток. Нужно измерять фактический поток на границе провайдера.
Руководство n8n по rate limiting отдельно объясняет, что queue mode и ограничения concurrency не отменяют внешнее ограничение API. Оно также различает управление исходящими запросами и входящим трафиком: публичный webhook требует отдельного слоя ограничения, если такой контроль необходим.
Практический вывод для автоматизации рабочего процесса: сначала определите, где именно находится дефицитный ресурс. Очередь исполнения, лимит стороннего сервиса и срок выполнения клиентской задачи могут требовать разных механизмов. Увеличение числа работников иногда только быстрее расходует доступную квоту.
Как разделить бюджет между рабочими задачами
Представим магазин, который одновременно обновляет шаблоны сообщений, показывает оператору их состояние и выполняет полную сверку каталога. Это пример проектирования, а не измерение конкретного внедрения. У операций разная срочность: пользовательский запрос нельзя бесконечно ставить за большой служебной выгрузкой.
Разделите потоки на классы: интерактивные действия, обязательная синхронизация и пакетная обработка. Для каждого класса определите срок ожидания, возможность переноса и последствия пропуска. Затем выделите резерв для важных операций и задайте правила, по которым пакетная работа использует свободную ёмкость.
При нескольких процессах учёт бюджета должен быть согласован между ними. Локальная задержка в каждом скрипте может работать при одном экземпляре, но перестаёт отражать суммарную нагрузку после масштабирования. Общий диспетчер или согласованное хранилище счётчиков — возможные варианты реализации; выбор зависит от архитектуры и требований к отказоустойчивости.
Не стремитесь постоянно работать ровно у опубликованного потолка. Короткие всплески, служебные запросы и изменения времени ответа создают отклонения. Размер резерва лучше выбирать по наблюдениям и последствиям задержки, а не по универсальному проценту.

Что делать после HTTP 429
Сохраните задачу и определите время следующей попытки. Если ответ содержит Retry-After, учитывайте его согласно контракту провайдера. n8n описывает паузы, пакетную обработку и увеличение задержки между повторами; это инструменты настройки поведения, а не обещание, что любой процесс автоматически уложится в лимиты.
При отсутствии точного указания можно предусмотреть ограниченную политику backoff с небольшим случайным разбросом, чтобы работники не возобновляли поток одновременно. У политики должен быть предел: срок задачи, число попыток или момент передачи ответственному. Повторять бесконечно устаревшее действие бессмысленно, даже если следующая попытка технически возможна.
Запрос чтения и запрос изменения требуют разной оценки последствий. Перед повтором записи важно выяснить, не было ли действие уже выполнено. Однако управление общим бюджетом не заменяет защиту от повторного результата: это отдельная часть контракта API-интеграции.
Снижать нагрузку без потери актуальности
До добавления работников проверьте, можно ли получать записи страницами, использовать поддерживаемые пакетные операции или хранить редко меняющиеся справочники. Кэш должен иметь правила обновления: вчерашний список сотрудников может быть приемлем для отчёта, но недостаточен для решения о доступе.
В описании собственного API кэширование и ограничения частоты рассматриваются как элементы архитектуры. Это полезная постановка вопроса, а не подтверждение достигнутой пропускной способности. Для нового процесса нужно отдельно проверить срок жизни данных и поведение после изменения источника.
Следите за возрастом очереди, числом 429 по операциям, долей срочных задач и временем восстановления после пакетного запуска. Низкое число ошибок при многодневном отставании синхронизации не означает, что интеграция работает приемлемо. Контроль должен отражать срок получения полезного результата.
Проверка перед масштабированием
Проведите испытание совместной нагрузки: рабочий интерфейс, плановая выгрузка и служебные проверки работают одновременно. Убедитесь, что при 429 задача остаётся видимой, важные операции получают ресурс, а накопленная очередь затем сокращается. Зафиксируйте, кто меняет приоритеты во время инцидента.
Перед увеличением объёма стоит также проверить контракт и версию API: успешное соблюдение квоты не делает неверную схему ответа правильной. Если запросы идут к моделям AI, дополните распределение бюджета реестром моделей и контролем стоимости. Частота, денежный расход и качество результата связаны, но требуют отдельных показателей.