Lock
abstract class Lock implements Lock (View source)
Traits
Properties
Methods
Get the number of seconds until the given DateTime.
If the given value is an interval, convert it to a DateTime instance.
Given a start time, format the total run time for human readability.
Create a new lock instance.
Attempt to acquire the lock.
Release the lock.
Returns the owner value written into the driver for this lock.
Attempt to acquire the lock.
Attempt to acquire the lock for the given number of seconds.
Returns the current owner of the lock.
Determines whether this lock is allowed to release the lock in the driver.
Determine whether this lock is owned by the given identifier.
Specify the number of milliseconds to sleep in between blocked lock acquisition attempts.
Details
protected int
secondsUntil(DateTimeInterface|DateInterval|int $delay)
Get the number of seconds until the given DateTime.
protected int
availableAt(DateTimeInterface|DateInterval|int $delay = 0)
Get the "available at" UNIX timestamp.
protected DateTimeInterface|int
parseDateInterval(DateTimeInterface|DateInterval|int $delay)
If the given value is an interval, convert it to a DateTime instance.
protected string
runTimeForHumans(float $startTime, float $endTime = null)
Given a start time, format the total run time for human readability.
abstract protected string
getCurrentOwner()
Returns the owner value written into the driver for this lock.
mixed
block(int $seconds, callable|null $callback = null)
Attempt to acquire the lock for the given number of seconds.
bool
isOwnedByCurrentProcess()
Determines whether this lock is allowed to release the lock in the driver.