itd-api / RateLimitOptions
Interface: RateLimitOptions
Defined in: core/options.ts:60
Настройки ограничения нагрузки на API.
Properties
bucket?
optional bucket?: (request) => string | undefined;Defined in: core/options.ts:99
Своё правило выбора бакета. undefined из функции отдаёт запрос встроенной карте.
Возвращайте конечное множество имён: каждое заводит свою очередь.
Parameters
request
Returns
string | undefined
bucketConcurrency?
optional bucketConcurrency?: number;Defined in: core/options.ts:84
Одновременных запросов внутри одного бакета. По умолчанию равен concurrency.
Встроенное исключение — files.upload с пределом 1. При buckets: false не действует.
bucketOverrides?
optional bucketOverrides?: Record<string, RateLimitBucketOverride>;Defined in: core/options.ts:93
Поправки для отдельных бакетов. Неизвестное имя — ошибка конфигурации.
Example
rateLimit: { bucketOverrides: { 'posts.create': { rps: 2 }, feed: { concurrency: 2 } } }buckets?
optional buckets?: boolean;Defined in: core/options.ts:78
Отдельная очередь на каждый бакет. По умолчанию true.
false — одна очередь на направление: её пауза придерживает все запросы разом. В этом режиме ёмкость отдельного счётчика неизвестна, поэтому bucketConcurrency, все поля bucketOverrides и режим pacing: 'smooth' не действуют, а исчерпанный остаток встречается первой ступенью retryDelays. Общий rps продолжает действовать.
concurrency?
optional concurrency?: number;Defined in: core/options.ts:64
Одновременных запросов на всех бакетах вместе. По умолчанию 6.
pacing?
optional pacing?: RateLimitPacing;Defined in: core/options.ts:104
Реакция на остаток, см. RateLimitPacing. По умолчанию 'react'.
retryDelays?
optional retryDelays?: readonly number[];Defined in: core/options.ts:112
Паузы перед повторами при ответе 429, мс. По умолчанию [1000, 5000, 30000, 60000, 90000].
После последней ступени ItdRateLimitError пробрасывается вызывающему коду. От retry.attempts не зависит: retry: false лестницу не отключает.
rps?
optional rps?: number;Defined in: core/options.ts:66
Верхняя граница запросов в секунду. По умолчанию без ограничения.