class CallQueuedListener implements ShouldQueue

Traits

Properties

Job|null $job

The underlying queue job instance.

from  InteractsWithQueue
string|null $connection

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

from  Queueable
string|null $queue

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

from  Queueable
array|string|int|null $messageGroup

The message group the job should be sent to.

from  Queueable
null|array|callable $deduplicator

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

from  Queueable
string $debounceOwner

The lock owner token for debounce supersession checks.

from  Queueable
array|DateInterval|DateTimeInterface|int|null $delay

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

from  Queueable
bool|null $afterCommit

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

from  Queueable
array $middleware

The middleware the job should be dispatched through.

from  Queueable
array $chained

The jobs that should run if this job is successful.

from  Queueable
string|null $chainConnection

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

from  Queueable
string|null $chainQueue

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

from  Queueable
array|null $chainCatchCallbacks

The callbacks to be executed on chain failure.

from  Queueable
class-string $class

The listener class name.

string $method

The listener method.

array $data

The data to be passed to the listener.

int|null $tries

The number of times the job may be attempted.

int|null $maxExceptions

The maximum number of exceptions allowed, regardless of attempts.

array|int|null $backoff

The number of seconds to wait before retrying a job that encountered an uncaught exception.

DateTimeInterface|int|null $retryUntil

The timestamp indicating when the job should timeout.

int|null $timeout

The number of seconds the job can run before timing out.

bool $failOnTimeout

Indicates if the job should fail if the timeout is exceeded.

bool $shouldBeEncrypted

Indicates if the job should be encrypted.

bool|null $deleteWhenMissingModels

Indicates if the job should be deleted when models are missing.

bool $shouldBeUnique

Indicates if the listener should be unique.

bool $shouldBeUniqueUntilProcessing

Indicates if the listener should be unique until processing begins.

mixed $uniqueId

The unique ID of the listener.

int|null $uniqueFor

The number of seconds the unique lock should be maintained.

Methods

int
secondsUntil(DateInterval|DateTimeInterface|int $delay)

Get the number of seconds until the given DateTime.

int
availableAt(DateInterval|DateTimeInterface|int|null $delay = 0)

Get the "available at" UNIX timestamp.

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

If the given value is an interval, convert it to a DateTime instance.

int
currentTime()

Get the current system time as a UNIX timestamp.

string
runTimeForHumans(float $startTime, float|null $endTime = null)

Given a start time, format the total run time for human readability.

int
attempts()

Get the number of times the job has been attempted.

void
delete()

Delete the job from the queue.

void
fail(string|Throwable|null $exception = null)

Fail the job from the queue.

void
release(DateInterval|DateTimeInterface|int $delay = 0)

Release the job back into the queue after (n) seconds.

withFakeQueueInteractions()

Indicate that queue interactions like fail, delete, and release should be faked.

assertDeleted()

Assert that the job was deleted from the queue.

assertNotDeleted()

Assert that the job was not deleted from the queue.

assertFailed()

Assert that the job was manually failed.

assertFailedWith(string|Throwable $exception)

Assert that the job was manually failed with a specific exception.

assertNotFailed()

Assert that the job was not manually failed.

assertReleased(DateInterval|DateTimeInterface|int|null $delay = null)

Assert that the job was released back onto the queue.

assertNotReleased()

Assert that the job was not released back onto the queue.

setJob(Job $job)

Set the base queue job instance.

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.

__construct(string $class, string $method, array $data)

Create a new job instance.

void
handle(Container $container)

Handle the queued job.

bool
shouldBeUnique()

Determine if the listener should be unique.

bool
shouldBeUniqueUntilProcessing()

Determine if the listener should be unique until processing begins.

mixed
uniqueId()

Get the unique ID for the listener.

int|null
uniqueFor()

Get the number of seconds the unique lock should be maintained.

Repository|null
uniqueVia()

Get the cache store used to manage unique locks.

object
setJobInstanceIfNecessary(Job $job, object $instance)

Set the job instance of the given class if necessary.

void
failed(Throwable $e)

Call the failed method on the job instance.

string
displayName()

Get the display name for the queued job.

void
__clone()

Prepare the instance for cloning.

Details

in InteractsWithTime at line 17
protected int secondsUntil(DateInterval|DateTimeInterface|int $delay)

Get the number of seconds until the given DateTime.

Parameters

DateInterval|DateTimeInterface|int $delay

Return Value

int

in InteractsWithTime at line 29
protected int availableAt(DateInterval|DateTimeInterface|int|null $delay = 0)

Get the "available at" UNIX timestamp.

Parameters

DateInterval|DateTimeInterface|int|null $delay

Return Value

int

in InteractsWithTime at line 41
protected DateTimeInterface|int parseDateInterval(DateInterval|DateTimeInterface|int|null $delay)

If the given value is an interval, convert it to a DateTime instance.

Parameters

DateInterval|DateTimeInterface|int|null $delay

Return Value

DateTimeInterface|int

in InteractsWithTime at line 57
protected int currentTime()

Get the current system time as a UNIX timestamp.

Return Value

int

in InteractsWithTime at line 65
protected string runTimeForHumans(float $startTime, float|null $endTime = null)

Given a start time, format the total run time for human readability.

Parameters

float $startTime
float|null $endTime

Return Value

string

in InteractsWithQueue at line 28
int attempts()

Get the number of times the job has been attempted.

Return Value

int

in InteractsWithQueue at line 36
void delete()

Delete the job from the queue.

Return Value

void

in InteractsWithQueue at line 47
void fail(string|Throwable|null $exception = null)

Fail the job from the queue.

Parameters

string|Throwable|null $exception

Return Value

void

in InteractsWithQueue at line 61
void release(DateInterval|DateTimeInterface|int $delay = 0)

Release the job back into the queue after (n) seconds.

Parameters

DateInterval|DateTimeInterface|int $delay

Return Value

void

in InteractsWithQueue at line 74
InteractsWithQueue withFakeQueueInteractions()

Indicate that queue interactions like fail, delete, and release should be faked.

Return Value

InteractsWithQueue

in InteractsWithQueue at line 84
InteractsWithQueue assertDeleted()

Assert that the job was deleted from the queue.

Return Value

InteractsWithQueue

in InteractsWithQueue at line 99
InteractsWithQueue assertNotDeleted()

Assert that the job was not deleted from the queue.

Return Value

InteractsWithQueue

in InteractsWithQueue at line 114
InteractsWithQueue assertFailed()

Assert that the job was manually failed.

Return Value

InteractsWithQueue

in InteractsWithQueue at line 129
InteractsWithQueue assertFailedWith(string|Throwable $exception)

Assert that the job was manually failed with a specific exception.

Parameters

string|Throwable $exception

Return Value

InteractsWithQueue

in InteractsWithQueue at line 171
InteractsWithQueue assertNotFailed()

Assert that the job was not manually failed.

Return Value

InteractsWithQueue

in InteractsWithQueue at line 186
InteractsWithQueue assertReleased(DateInterval|DateTimeInterface|int|null $delay = null)

Assert that the job was released back onto the queue.

Parameters

DateInterval|DateTimeInterface|int|null $delay

Return Value

InteractsWithQueue

in InteractsWithQueue at line 211
InteractsWithQueue assertNotReleased()

Assert that the job was not released back onto the queue.

Return Value

InteractsWithQueue

in InteractsWithQueue at line 236
InteractsWithQueue setJob(Job $job)

Set the base queue job instance.

Parameters

Job $job

Return Value

InteractsWithQueue

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

Set the desired connection for the job.

Parameters

UnitEnum|string|null $connection

Return Value

Queueable

in 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

in 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

in 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

in 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

in 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

in 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

in Queueable at line 182
Queueable withoutDelay()

Set the delay for the job to zero seconds.

Return Value

Queueable

in Queueable at line 192
Queueable afterCommit()

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

Return Value

Queueable

in Queueable at line 202
Queueable beforeCommit()

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

Return Value

Queueable

in 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

in 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

in 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

in Queueable at line 248
Queueable appendToChain(mixed $job)

Append a job to the end of the current chain.

Parameters

mixed $job

Return Value

Queueable

in Queueable at line 264
protected string serializeJob(mixed $job)

Serialize a job for queuing.

Parameters

mixed $job

Return Value

string

Exceptions

RuntimeException

in Queueable at line 282
void dispatchNextJobInChain()

Dispatch the next job on the chain.

Return Value

void

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

Invoke all of the chain's failed job callbacks.

Parameters

Throwable|null $e

Return Value

void

in Queueable 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

in Queueable at line 337
void assertDoesntHaveChain()

Assert that the job has no remaining chained jobs.

Return Value

void

at line 106
__construct(string $class, string $method, array $data)

Create a new job instance.

Parameters

string $class
string $method
array $data

at line 116
void handle(Container $container)

Handle the queued job.

Parameters

Container $container

Return Value

void

at line 129
bool shouldBeUnique()

Determine if the listener should be unique.

Return Value

bool

at line 137
bool shouldBeUniqueUntilProcessing()

Determine if the listener should be unique until processing begins.

Return Value

bool

at line 145
mixed uniqueId()

Get the unique ID for the listener.

Return Value

mixed

at line 153
int|null uniqueFor()

Get the number of seconds the unique lock should be maintained.

Return Value

int|null

at line 161
Repository|null uniqueVia()

Get the cache store used to manage unique locks.

Return Value

Repository|null

at line 175
protected object setJobInstanceIfNecessary(Job $job, object $instance)

Set the job instance of the given class if necessary.

Parameters

Job $job
object $instance

Return Value

object

at line 192
void failed(Throwable $e)

Call the failed method on the job instance.

The event instance and the exception will be passed.

Parameters

Throwable $e

Return Value

void

at line 209
string displayName()

Get the display name for the queued job.

Return Value

string

at line 217
void __clone()

Prepare the instance for cloning.

Return Value

void