Lock
class Lock implements LockInterface, LoggerAwareInterface
Lock is the default implementation of the LockInterface.
Traits
LoggerAwareTrait |
Methods
__construct(Key $key, StoreInterface $store, float $ttl = null, bool $autoRelease = true) | ||
__destruct() Automatically releases the underlying lock when the object is destructed. | ||
bool | acquire(bool $blocking = false) Acquires the lock. If the lock is acquired by someone else, the parameter | |
refresh() Increase the duration of an acquired lock. | ||
bool | isAcquired() Returns whether or not the lock is acquired. | |
release() Release the lock. | ||
bool | isExpired() | |
float|null | getRemainingLifetime() Returns the remaining lifetime. |
Details
__construct(Key $key, StoreInterface $store, float $ttl = null, bool $autoRelease = true)
Parameters
Key | $key | Resource to lock |
StoreInterface | $store | Store used to handle lock persistence |
float | $ttl | Maximum expected lock duration in seconds |
bool | $autoRelease | Whether to automatically release the lock or not when the lock instance is destroyed |
__destruct()
Automatically releases the underlying lock when the object is destructed.
bool acquire(bool $blocking = false)
Acquires the lock. If the lock is acquired by someone else, the parameter blocking
determines whether or not the the call should block until the release of the lock.
Parameters
bool | $blocking | Whether or not the Lock should wait for the release of someone else |
Return Value
bool | whether or not the lock had been acquired |
Exceptions
LockConflictedException | If the lock is acquired by someone else in blocking mode |
LockAcquiringException | If the lock can not be acquired |
refresh()
Increase the duration of an acquired lock.
Exceptions
LockConflictedException | If the lock is acquired by someone else |
LockAcquiringException | If the lock can not be refreshed |
bool isAcquired()
Returns whether or not the lock is acquired.
Return Value
bool |
release()
Release the lock.
Exceptions
LockReleasingException | If the lock can not be released |
bool isExpired()
Return Value
bool |
float|null getRemainingLifetime()
Returns the remaining lifetime.
Return Value
float|null | Remaining lifetime in seconds. Null when the lock won't expire. |
© 2004–2017 Fabien Potencier
Licensed under the MIT License.
http://api.symfony.com/4.0/Symfony/Component/Lock/Lock.html