class PendingDispatch (View source)

Traits

Properties

protected mixed $job

The job.

protected bool $afterResponse

Indicates if the job should be dispatched immediately after sending the response.

Methods

$this|TWhenReturnType
when(TWhenParameter|TWhenParameter|null $value = null, callable|null $callback = null, callable|null $default = null)

Apply the callback if the given "value" is (or resolves to) truthy.

$this|TUnlessReturnType
unless(TUnlessParameter|TUnlessParameter|null $value = null, callable|null $callback = null, callable|null $default = null)

Apply the callback if the given "value" is (or resolves to) falsy.

void
addUniqueJobInformationToContext(mixed $job)

Store unique job information in the context in case we can't resolve the job on the queue side.

void
removeUniqueJobInformationFromContext(mixed $job)

Remove the unique job information from the context.

string|null
getUniqueJobCacheStore(mixed $job)

Determine the cache store used by the unique job to acquire locks.

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.

mixed
extractAttributeValue(object $instance)

Extract the value from an attribute instance.

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.

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(mixed $job)

Create a new pending job dispatch.

$this
onConnection(BackedEnum|string|null $connection)

Set the desired connection for the job.

$this
onQueue(BackedEnum|string|null $queue)

Set the desired queue for the job.

$this
onGroup(UnitEnum|string $group)

Set the desired job "group".

$this
withDeduplicator(callable|null $deduplicator)

Set the desired job deduplicator callback.

$this
allOnConnection(BackedEnum|string|null $connection)

Set the desired connection for the chain.

$this
allOnQueue(BackedEnum|string|null $queue)

Set the desired queue for the chain.

$this
delay(DateTimeInterface|DateInterval|int|null $delay)

Set the desired delay in seconds for the job.

$this
withoutDelay()

Set the delay for the job to zero seconds.

$this
afterCommit()

Indicate that the job should be dispatched after all database transactions have committed.

$this
beforeCommit()

Indicate that the job should not wait until database transactions have been committed before dispatching.

$this
chain(array $chain)

Set the jobs that should run if this job is successful.

$this
afterResponse(bool $afterResponse = true)

Indicate that the job should be dispatched after the response is sent to the browser.

bool
shouldDispatch()

Determine if the job should be dispatched.

void
acquireDebounceLock()

Acquire a debounce lock for the job and set its delay.

mixed
getJob()

Get the underlying job instance.

$this
__call(string $method, array $parameters)

Dynamically proxy methods to the underlying job.

void
__destruct()

Handle the object's destruction.

Details

$this|TWhenReturnType when(TWhenParameter|TWhenParameter|null $value = null, callable|null $callback = null, callable|null $default = null)

Apply the callback if the given "value" is (or resolves to) truthy.

Parameters

TWhenParameter|TWhenParameter|null $value
callable|null $callback
callable|null $default

Return Value

$this|TWhenReturnType

$this|TUnlessReturnType unless(TUnlessParameter|TUnlessParameter|null $value = null, callable|null $callback = null, callable|null $default = null)

Apply the callback if the given "value" is (or resolves to) falsy.

Parameters

TUnlessParameter|TUnlessParameter|null $value
callable|null $callback
callable|null $default

Return Value

$this|TUnlessReturnType

void addUniqueJobInformationToContext(mixed $job)

Store unique job information in the context in case we can't resolve the job on the queue side.

Parameters

mixed $job

Return Value

void

void removeUniqueJobInformationFromContext(mixed $job)

Remove the unique job information from the context.

Parameters

mixed $job

Return Value

void

protected string|null getUniqueJobCacheStore(mixed $job)

Determine the cache store used by the unique job to acquire locks.

Parameters

mixed $job

Return Value

string|null

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.

Parameters

object $target
string $attributeClass
string|null $property
mixed $default

Return Value

mixed

protected mixed extractAttributeValue(object $instance)

Extract the value from an attribute instance.

Parameters

object $instance

Return Value

mixed

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.

Parameters

object $target
string $attributeClass
ReflectionClass|null $declaringClass

Return Value

object|null

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.

Parameters

object $target
ReflectionClass $reflection
string|null $property
ReflectionClass $attributeDeclaringClass

Return Value

bool

__construct(mixed $job)

Create a new pending job dispatch.

Parameters

mixed $job

$this onConnection(BackedEnum|string|null $connection)

Set the desired connection for the job.

Parameters

BackedEnum|string|null $connection

Return Value

$this

$this onQueue(BackedEnum|string|null $queue)

Set the desired queue for the job.

Parameters

BackedEnum|string|null $queue

Return Value

$this

$this onGroup(UnitEnum|string $group)

Set the desired job "group".

This feature is only supported by some queues, such as Amazon SQS.

Parameters

UnitEnum|string $group

Return Value

$this

$this withDeduplicator(callable|null $deduplicator)

Set the desired job deduplicator callback.

This feature is only supported by some queues, such as Amazon SQS FIFO.

Parameters

callable|null $deduplicator

Return Value

$this

$this allOnConnection(BackedEnum|string|null $connection)

Set the desired connection for the chain.

Parameters

BackedEnum|string|null $connection

Return Value

$this

$this allOnQueue(BackedEnum|string|null $queue)

Set the desired queue for the chain.

Parameters

BackedEnum|string|null $queue

Return Value

$this

$this delay(DateTimeInterface|DateInterval|int|null $delay)

Set the desired delay in seconds for the job.

Parameters

DateTimeInterface|DateInterval|int|null $delay

Return Value

$this

$this withoutDelay()

Set the delay for the job to zero seconds.

Return Value

$this

$this afterCommit()

Indicate that the job should be dispatched after all database transactions have committed.

Return Value

$this

$this beforeCommit()

Indicate that the job should not wait until database transactions have been committed before dispatching.

Return Value

$this

$this chain(array $chain)

Set the jobs that should run if this job is successful.

Parameters

array $chain

Return Value

$this

$this afterResponse(bool $afterResponse = true)

Indicate that the job should be dispatched after the response is sent to the browser.

Parameters

bool $afterResponse

Return Value

$this

protected bool shouldDispatch()

Determine if the job should be dispatched.

Return Value

bool

protected void acquireDebounceLock()

Acquire a debounce lock for the job and set its delay.

Return Value

void

Exceptions

LogicException

mixed getJob()

Get the underlying job instance.

Return Value

mixed

$this __call(string $method, array $parameters)

Dynamically proxy methods to the underlying job.

Parameters

string $method
array $parameters

Return Value

$this

void __destruct()

Handle the object's destruction.

Return Value

void

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.