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.
Determine if a property declared on a child class overrides an inherited attribute.
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, ReflectionClass|null $declaringClass = null)
Get an instance of the given attribute class from the target class or its parents.
protected bool
propertyOverridesAttribute(object $target, ReflectionClass $reflection, string|null $property, ReflectionClass $attributeDeclaringClass)
Determine if a property declared on a child class overrides an inherited attribute.
__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.
Laravel Cloud is the best place to deploy Laravel, Nuxt, Express, Hono, Node.js, Bun, Go, Flask, Python, and more, with dedicated infrastructure available on AWS through Laravel Private Cloud.