trait Queueable

Properties

string|null $connection

The name of the connection the job should be sent to.

string|null $queue

The name of the queue the job should be sent to.

array|string|int|null $messageGroup

The message group the job should be sent to.

null|array|callable $deduplicator

The deduplicator callback the job should use to generate the deduplication ID.

string $debounceOwner

The lock owner token for debounce supersession checks.

array|DateInterval|DateTimeInterface|int|null $delay

The number of seconds before the job should be made available.

bool|null $afterCommit

Indicates whether the job should be dispatched after all database transactions have committed.

array $middleware

The middleware the job should be dispatched through.

array $chained

The jobs that should run if this job is successful.

string|null $chainConnection

The name of the connection the chain should be sent to.

string|null $chainQueue

The name of the queue the chain should be sent to.

array|null $chainCatchCallbacks

The callbacks to be executed on chain failure.

Methods

onConnection(UnitEnum|string|null $connection)

Set the desired connection for the job.

onQueue(UnitEnum|string|null $queue)

Set the desired queue for the job.

onGroup(array|UnitEnum|string|int|null $group)

Set the desired job message group.

withDeduplicator(array|callable|null $deduplicator)

Set the desired job deduplicator callback.

allOnConnection(UnitEnum|string|null $connection)

Set the desired connection for the chain.

allOnQueue(UnitEnum|string|null $queue)

Set the desired queue for the chain.

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

Set the desired delay in seconds for the job.

withoutDelay()

Set the delay for the job to zero seconds.

afterCommit()

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

beforeCommit()

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

through(array|object $middleware)

Specify the middleware the job should be dispatched through.

chain(array $chain)

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

prependToChain(mixed $job)

Prepend a job to the current chain so that it is run after the currently running job.

appendToChain(mixed $job)

Append a job to the end of the current chain.

string
serializeJob(mixed $job)

Serialize a job for queuing.

void
dispatchNextJobInChain()

Dispatch the next job on the chain.

void
invokeChainCatchCallbacks(Throwable|null $e)

Invoke all of the chain's failed job callbacks.

void
assertHasChain(array $expectedChain)

Assert that the job has the given chain of jobs attached to it.

void
assertDoesntHaveChain()

Assert that the job has no remaining chained jobs.

Details

at line 92
Queueable onConnection(UnitEnum|string|null $connection)

Set the desired connection for the job.

Parameters

UnitEnum|string|null $connection

Return Value

Queueable

at line 104
Queueable onQueue(UnitEnum|string|null $queue)

Set the desired queue for the job.

Parameters

UnitEnum|string|null $queue

Return Value

Queueable

at line 118
Queueable onGroup(array|UnitEnum|string|int|null $group)

Set the desired job message group.

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

Parameters

array|UnitEnum|string|int|null $group

Return Value

Queueable

at line 130
Queueable withDeduplicator(array|callable|null $deduplicator)

Set the desired job deduplicator callback.

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

Parameters

array|callable|null $deduplicator

Return Value

Queueable

at line 142
Queueable allOnConnection(UnitEnum|string|null $connection)

Set the desired connection for the chain.

Parameters

UnitEnum|string|null $connection

Return Value

Queueable

at line 157
Queueable allOnQueue(UnitEnum|string|null $queue)

Set the desired queue for the chain.

Parameters

UnitEnum|string|null $queue

Return Value

Queueable

at line 172
Queueable delay(array|DateInterval|DateTimeInterface|int|null $delay)

Set the desired delay in seconds for the job.

Parameters

array|DateInterval|DateTimeInterface|int|null $delay

Return Value

Queueable

at line 182
Queueable withoutDelay()

Set the delay for the job to zero seconds.

Return Value

Queueable

at line 192
Queueable afterCommit()

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

Return Value

Queueable

at line 202
Queueable beforeCommit()

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

Return Value

Queueable

at line 212
Queueable through(array|object $middleware)

Specify the middleware the job should be dispatched through.

Parameters

array|object $middleware

Return Value

Queueable

at line 222
Queueable chain(array $chain)

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

Parameters

array $chain

Return Value

Queueable

at line 234
Queueable prependToChain(mixed $job)

Prepend a job to the current chain so that it is run after the currently running job.

Parameters

mixed $job

Return Value

Queueable

at line 248
Queueable appendToChain(mixed $job)

Append a job to the end of the current chain.

Parameters

mixed $job

Return Value

Queueable

at line 264
protected string serializeJob(mixed $job)

Serialize a job for queuing.

Parameters

mixed $job

Return Value

string

Exceptions

RuntimeException

at line 282
void dispatchNextJobInChain()

Dispatch the next job on the chain.

Return Value

void

at line 305
void invokeChainCatchCallbacks(Throwable|null $e)

Invoke all of the chain's failed job callbacks.

Parameters

Throwable|null $e

Return Value

void

at line 315
void assertHasChain(array $expectedChain)

Assert that the job has the given chain of jobs attached to it.

Parameters

array $expectedChain

Return Value

void

at line 337
void assertDoesntHaveChain()

Assert that the job has no remaining chained jobs.

Return Value

void