UniqueLock
class UniqueLock (View source)
Traits
Properties
| protected Repository | $cache | The cache repository implementation. |
Methods
Get a configuration value from an attribute, falling back to a property.
Extract the value from an attribute instance.
Get an instance of the given attribute class from the target class or its parents.
Attempt to acquire a lock for the given job.
Release the lock for the given job.
Generate the lock key for the given job.
Details
protected mixed
getAttributeValue(object $target, string $attributeClass, string|null $property = null, mixed $default = null)
Get a configuration value from an attribute, falling back to a property.
protected mixed
extractAttributeValue(object $instance)
Extract the value from an attribute instance.
protected object|null
getAttributeInstance(object $target, string $attributeClass)
Get an instance of the given attribute class from the target class or its parents.
__construct(Repository $cache)
Create a new unique lock manager instance.
bool
acquire(mixed $job)
Attempt to acquire a lock for the given job.
void
release(mixed $job)
Release the lock for the given job.
static string
getKey(mixed $job)
Generate the lock key for the given job.