Менеджер ограничений
Управляет ограничениями интенсивности запросов к API Битрикс24. Он отслеживает интенсивность запросов отдельно для каждого аккаунта Битрикс24 и учитывает IP-адрес, с которого выполняется запрос.
TIP
Работу с Менеджером ограничений можно протестировать в примере.
Класс RestrictionManager
Подключается в классе Http
По умолчанию используются
RestrictionManagerParamsBase
.В редакциях Битрикс24
Enterprise
стоит использоватьRestrictionManagerParamsForEnterprise
.
ts
import {
B24Hook,
RestrictionManagerParamsForEnterprise
} from '@bitrix24/b24jssdk'
const $b24 = new B24Hook({
b24Url: 'https://your_domain.bitrix24.com',
userId: 123,
secret: 'k32t88gf3azpmwv3',
})
$b24.getHttpClient().setRestrictionManagerParams(
RestrictionManagerParamsForEnterprise
)
ts
import {
B24Hook
} from '@bitrix24/b24jssdk'
const $b24 = new B24Hook({
b24Url: 'https://your_domain.bitrix24.com',
userId: 123,
secret: 'k32t88gf3azpmwv3',
})
$b24.getHttpClient().setRestrictionManagerParams({
sleep: 600,
speed: 0.01,
amount: 30 * 5
})
Методы
check
ts
check(hash: string = ''): Promise<null>
Проверяет возможность выполнения запроса без превышения лимитов. Если лимиты превышены, выполняется ожидание.
Параметр | Тип | Описание |
---|---|---|
hash | string | Хэш для логирования (опционально). |
Константы
RestrictionManagerParamsBase
ts
import { RestrictionManagerParamsBase } from '@bitrix24/b24jssdk'
Базовые параметры для менеджера ограничений.
sleep
:1_000
(время ожидания в миллисекундах)speed
:0.001
(скорость обработки)amount
:30
(количество обрабатываемых элементов)
RestrictionManagerParamsForEnterprise
ts
import { RestrictionManagerParamsForEnterprise } from '@bitrix24/b24jssdk'
Параметры для менеджера ограничений, предназначенные для использования в редакциях Битрикс24 Enterprise
.
sleep
:600
(время ожидания в миллисекундах)speed
:0.01
(скорость обработки)amount
:150
(количество обрабатываемых элементов)