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