Spec-Zone.ru › Laravel 10

Ограничитель одновременности

класс ConcurrencyLimiter (Просмотреть исходный код)

Свойства

защищённое Connection $redis

Реализация фабрики Redis.

защищённая строка $name

Имя ограничителя.

защищённое целое число $maxLocks

Разрешённое количество одновременных задач.

защищённое целое число $releaseAfter

Количество секунд, в течение которого слот должен поддерживаться.

Методы

void __construct(Connection $redis, string $name, int $maxLocks, int $releaseAfter)

Создать новый экземпляр ограничителя одновременности.

смешанное block(int $timeout, callable|null $callback = null, int $sleep = 250)

Попытка получить блокировку на заданное количество секунд.

смешанное acquire(string $id)

Попытка получить блокировку.

строка lockScript()

Получить скрипт Lua для получения блокировки.

void release(string $key, string $id)

Освободить блокировку.

строка releaseScript()

Получить скрипт Lua для атомарного освобождения блокировки.

Подробности

void __construct(Connection $redis, string $name, int $maxLocks, int $releaseAfter)

Создать новый экземпляр ограничителя одновременности.

Параметры

Connection $redis
строка $name
целое число $maxLocks
целое число $releaseAfter

Возвращаемое значение

void

смешанное block(int $timeout, callable|null $callback = null, int $sleep = 250)

Попытка получить блокировку на заданное количество секунд.

Параметры

целое число $timeout
callable|null $callback
целое число $sleep

Возвращаемое значение

смешанное

Исключения

LimiterTimeoutException
Throwable

protected смешанное acquire(string $id)

Попытка получить блокировку.

Параметры

строка $id

Уникальный идентификатор этой блокировки

Возвращаемое значение

смешанное

protected строка lockScript()

Получить скрипт Lua для получения блокировки.

KEYS - Ключи, представляющие доступные слоты ARGV[1] - Имя ограничителя ARGV[2] - Количество секунд, на которое должен быть зарезервирован слот ARGV[3] - Уникальный идентификатор этой блокировки

Возвращаемое значение

строка

protected void release(string $key, string $id)

Освободить блокировку.

Параметры

строка $key
строка $id

Возвращаемое значение

void

protected строка releaseScript()

Получить скрипт Lua для атомарного освобождения блокировки.

KEYS[1] - Имя блокировки ARGV[1] - Уникальный идентификатор этой блокировки

Возвращаемое значение

строка

© Taylor Otwell
Licensed under the MIT License.
Laravel is a trademark of Taylor Otwell.
https://laravel.com/api/10.x/Illuminate/Redis/Limiters/ConcurrencyLimiter.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API