class PendingClosureDispatch extends PendingDispatch (View source)

Traits

Properties

protected mixed $job

The job.

from  PendingDispatch
protected bool $afterResponse

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

from  PendingDispatch

Methods

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)

Get an instance of the given attribute class from the target class or its parents.

__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.

$this
catch(Closure $callback)

Add a callback to be executed if the job fails.

Details

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)

Get an instance of the given attribute class from the target class or its parents.

Parameters

object $target
string $attributeClass

Return Value

object|null

__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

$this catch(Closure $callback)

Add a callback to be executed if the job fails.

Parameters

Closure $callback

Return Value

$this