CloudCastle Lock API

LockFactory
in package

FinalYes

Фабрика блокировок над выбранным хранилищем.

Создаёт Lock для именованного ресурса, автоматически выдавая каждой блокировке уникальный криптостойкий токен владельца — так только создатель блокировки сможет её снять или продлить.

Table of Contents

Methods

__construct()  : mixed
create()  : Lock
Создать блокировку для ресурса.
semaphore()  : Semaphore
Создать счётный семафор над этим хранилищем.

Methods

__construct()

public __construct(LockStore $store[, Sleeper|null $sleeper = null ]) : mixed
Parameters
$store : LockStore

хранилище блокировок (файлы/кэш/память)

$sleeper : Sleeper|null = null

пауза для блокирующего ожидания Lock::block(); null — боевой RealSleeper

create()

Создать блокировку для ресурса.

public create(string $resource[, int|null $ttlSeconds = null ]) : Lock
Parameters
$resource : string

ключ ресурса

$ttlSeconds : int|null = null

срок жизни в секундах для хранилищ с TTL; null — до явного снятия

Return values
Lock

новая блокировка с уникальным токеном владельца

semaphore()

Создать счётный семафор над этим хранилищем.

public semaphore(string $resource, int $slots[, int|null $ttlSeconds = null ]) : Semaphore
Parameters
$resource : string

имя разделяемого ресурса

$slots : int

число одновременных держателей (ёмкость семафора)

$ttlSeconds : int|null = null

срок жизни слота для хранилищ с TTL; null — до явного снятия

Return values
Semaphore

семафор на указанное число слотов поверх хранилища

On this page

Search results