Spec-Zone.ru › Laravel 11

DatabaseLock

class DatabaseLock extends Lock (View source)

Особенности

InteractsWithTime

Свойства

protected string $name

Имя блокировки.

from Lock
protected int $seconds

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

from Lock
protected string $owner

Идентификатор области действия этой блокировки.

from Lock
protected int $sleepMilliseconds

Количество миллисекунд ожидания перед повторной попыткой получения блокировки во время блокировки.

from Lock
protected Connection $connection

Экземпляр подключения к базе данных.

protected string $table

Имя таблицы базы данных.

protected array $lottery

Вероятность обрезки.

protected int $defaultTimeoutInSeconds

Стандартное количество секунд, в течение которых блокировка должна удерживаться.

Методы

int secondsUntil(DateTimeInterface|DateInterval|int $delay)

Получить количество секунд до заданной даты DateTime.

из InteractsWithTime
int availableAt(DateTimeInterface|DateInterval|int $delay = 0)

Получить отметку времени Unix "доступно в" .

из InteractsWithTime
DateTimeInterface|int parseDateInterval(DateTimeInterface|DateInterval|int $delay)

Если заданное значение является интервалом, преобразовать его в экземпляр DateTime.

из InteractsWithTime
int currentTime()

Получить текущее системное время как отметку времени Unix.

из InteractsWithTime
string runTimeForHumans(float $startTime, float $endTime = null)

Учитывая начальное время, отформатировать общее время выполнения для удобства чтения человеком.

из InteractsWithTime
void __construct(Connection $connection, string $table, string $name, int $seconds, string|null $owner = null, array $lottery = [2, 100], $defaultTimeoutInSeconds = 86400)

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

bool acquire()

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

bool release()

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

string getCurrentOwner()

Возвращает значение владельца, записанное в драйвер для этой блокировки.

mixed get(callable|null $callback = null)

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

из Lock
mixed block(int $seconds, callable|null $callback = null)

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

из Lock
string owner()

Возвращает текущего владельца блокировки.

из Lock
bool isOwnedByCurrentProcess()

Определяет, разрешено ли этой блокировке освободить блокировку в драйвере.

из Lock
bool isOwnedBy(string|null $owner)

Определить, принадлежит ли эта блокировка заданному идентификатору.

из Lock
$this betweenBlockedAttemptsSleepFor(int $milliseconds)

Укажите количество миллисекунд, которые следует ждать между попытками получения заблокированной блокировки.

из Lock
int expiresAt()

Получить отметку времени Unix, указывающую, когда должна истечь блокировка.

void forceRelease()

Освобождает эту блокировку, не учитывая владения.

string getConnectionName()

Получить имя подключения к базе данных, используемого для управления блокировкой.

Подробности

protected int secondsUntil(DateTimeInterface|DateInterval|int $delay)

Получить количество секунд до заданной даты DateTime.

Параметры

DateTimeInterface|DateInterval|int $delay

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

int

protected int availableAt(DateTimeInterface|DateInterval|int $delay = 0)

Получить отметку времени Unix "доступно в" .

Параметры

DateTimeInterface|DateInterval|int $delay

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

int

protected DateTimeInterface|int parseDateInterval(DateTimeInterface|DateInterval|int $delay)

Если заданное значение является интервалом, преобразовать его в экземпляр DateTime.

Параметры

DateTimeInterface|DateInterval|int $delay

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

DateTimeInterface|int
END_OF_DOCUMENT_MARKER

protected int currentTime()

Получить текущее системное время в формате Unix timestamp.

Значение возврата

int

protected string runTimeForHumans(float $startTime, float $endTime = null)

Вывести продолжительность выполнения в удобочитаемом формате, задав начальное время.

Параметры

float $startTime
float $endTime

Значение возврата

string

void __construct(Connection $connection, string $table, string $name, int $seconds, string|null $owner = null, array $lottery = [2, 100], $defaultTimeoutInSeconds = 86400)

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

Параметры

Connection $connection
string $table
string $name
int $seconds
string|null $owner
array $lottery
$defaultTimeoutInSeconds

Значение возврата

void

bool acquire()

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

Значение возврата

bool

bool release()

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

Значение возврата

bool

protected string getCurrentOwner()

Возвращает значение владельца, записанное в драйвер для этой блокировки.

Значение возврата

string

mixed get(callable|null $callback = null)

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

Параметры

callable|null $callback

Значение возврата

mixed

mixed block(int $seconds, callable|null $callback = null)

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

Параметры

int $seconds
callable|null $callback

Значение возврата

mixed

Исключения

LockTimeoutException

string owner()

Возвращает текущего владельца блокировки.

Значение возврата

string

bool isOwnedByCurrentProcess()

Определяет, разрешена ли этому замку отпустить блокировку в драйвере.

Значение возврата

bool

bool isOwnedBy(string|null $owner)

Определяет, принадлежит ли этот замок заданному идентификатору.

Параметры

string|null $owner

Значение возврата

bool

$this betweenBlockedAttemptsSleepFor(int $milliseconds)

Указать количество миллисекунд, которые необходимо подождать между попытками получения блокировки.

Параметры

int $milliseconds

Значение возврата

$this

protected int expiresAt()

Получить метку времени Unix, указывающую, когда должна истечь блокировка.

Значение возврата

int

void forceRelease()

Освобождает эту блокировку, не учитывая владения.

Значение возврата

void

string getConnectionName()

Получить имя подключения к базе данных, используемого для управления блокировкой.

Значение возврата

string

© Taylor Otwell
Licensed under the MIT License.
Laravel is a trademark of Taylor Otwell.
https://laravel.com/api/11.x/Illuminate/Cache/DatabaseLock.html

Spec-Zone.ru

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