Spec-Zone.ru › Laravel 5.5

КонкурентныйЛимитер

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

Свойства

protected Connection $redis Реализация фабрики Redis.
protected string $name Имя лимитера.
protected int $maxLocks Разрешенное количество одновременных задач.
protected int $releaseAfter Количество секунд, в течение которого слот должен сохраняться.

Методы

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

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

bool block(int $timeout, callable|null $callback = null)

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

mixed acquire()

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

string luaScript()

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

void release($key)

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

Подробное описание

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

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

Параметры

Connection $redis
string $name
int $maxLocks
int $releaseAfter

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

void

bool block(int $timeout, callable|null $callback = null)

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

Параметры

int $timeout
callable|null $callback

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

bool

Исключения

LimiterTimeoutException

protected mixed acquire()

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

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

mixed

protected string luaScript()

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

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

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

string

protected void release($key)

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

Параметры

$key

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

void

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

Spec-Zone.ru

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