Queue
abstract class Queue
Traits
Properties
| protected Container | $container | The IoC container instance. |
|
| protected string | $connectionName | The connection name for the queue. |
|
| protected array | $config | The original configuration for the queue. |
|
| protected bool | $dispatchAfterCommit | Indicates that jobs should be dispatched after the open parent database transactions have committed. |
|
| protected null|Queue): mixed): mixed | $afterCommitDispatcher | Dispatch an after-commit operation through its live queue owner. |
|
| static protected callable[] | $createPayloadCallbacks | The create payload callbacks. |
Methods
Get the number of seconds until the given DateTime.
Get the "available at" UNIX timestamp.
If the given value is an interval, convert it to a DateTime instance.
Given a start time, format the total run time for human readability.
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.
Resolve the default connection name for a given queueable instance.
Resolve the default queue name for a given queueable instance.
Get the container that owns the queue routes.
Push a new job onto the queue.
Push a new job onto a specific queue after (n) seconds.
Push an array of jobs onto the queue.
Get the delay configured on the given job.
Create a payload string from the given job and data.
Create a payload array from the given job and data.
Create a payload for an object-based queue handler.
Get the display name for the given job.
Get the maximum number of attempts for an object-based queue handler.
Get the backoff for an object-based queue handler.
Get the expiration timestamp for an object-based queue handler.
Determine if the job should be encrypted.
Create a typical, string based queue payload array.
Register a callback to be executed when creating job payloads.
Create the given payload using any registered payload hooks.
Set the dispatcher for after-commit queue operations.
Enqueue a job using the given callback.
Defer an enqueue operation until the applicable transaction commits.
Defer a batch enqueue operation until the applicable transaction commits.
Enqueue a job immediately using the given callback.
Finalize an encoded payload immediately before queueing.
Partition jobs by whether they should be deferred until the active transaction commits.
Determine if the job should be dispatched after the open parent database transactions have committed.
Register a transaction rollback callback that releases the job's locks.
Create a callback that releases the job's locks.
Mark a job's dispatch locks as accepted by the queue.
Raise the job queueing event.
Raise the job queueing failed event.
Raise the job queued event.
Normalize an enum queue name without applying defaults or forwarding.
Get the routed queue name for the given queue.
Get the connection name for the queue.
Set the connection name for the queue.
Get the queue configuration array.
Get the container instance being used by the connection.
Flush all static state.
Details
in
InteractsWithTime at line 17
protected int
secondsUntil(DateInterval|DateTimeInterface|int $delay)
Get the number of seconds until the given DateTime.
in
InteractsWithTime at line 29
protected int
availableAt(DateInterval|DateTimeInterface|int|null $delay = 0)
Get the "available at" UNIX timestamp.
in
InteractsWithTime at line 47
protected DateTimeInterface|int
parseDateInterval(DateInterval|DateTimeInterface|int|null $delay)
If the given value is an interval, convert it to a DateTime instance.
in
InteractsWithTime at line 63
protected int
currentTime()
Get the current system time as a UNIX timestamp.
in
InteractsWithTime at line 71
protected string
runTimeForHumans(float $startTime, float|null $endTime = null)
Given a start time, format the total run time for human readability.
in
ReadsClassAttributes at line 17
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.
in
ReadsClassAttributes at line 46
protected mixed
extractAttributeValue(object $instance)
Extract the value from an attribute instance.
in
ReadsClassAttributes at line 58
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.
in
ReadsClassAttributes at line 74
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.
in
ResolvesQueueRoutes at line 19
string|null
resolveConnectionFromQueueRoute(object $queueable, UnitEnum|string|null $queue = null)
Resolve the default connection name for a given queueable instance.
in
ResolvesQueueRoutes at line 27
string|null
resolveQueueFromQueueRoute(object $queueable)
Resolve the default queue name for a given queueable instance.
in
ResolvesQueueRoutes at line 35
protected QueueRoutes
queueRoutes()
Get the queue routes manager instance.
at line 692
protected Container
queueRoutesContainer()
Get the container that owns the queue routes.
at line 89
mixed
pushOn(UnitEnum|string|null $queue, object|string $job, mixed $data = '')
Push a new job onto the queue.
at line 97
mixed
laterOn(UnitEnum|string|null $queue, DateInterval|DateTimeInterface|int $delay, object|string $job, mixed $data = '')
Push a new job onto a specific queue after (n) seconds.
at line 105
mixed
bulk(array $jobs, mixed $data = '', UnitEnum|string|null $queue = null)
Push an array of jobs onto the queue.
at line 125
protected mixed
getJobDelay(object|string $job)
Get the delay configured on the given job.
at line 139
protected string
createPayload(array|object|string $job, string|null $queue, mixed $data = '', DateInterval|DateTimeInterface|int|null $delay = null)
Create a payload string from the given job and data.
at line 172
protected array
createPayloadArray(array|object|string $job, string|null $queue, mixed $data = '')
Create a payload array from the given job and data.
at line 184
protected array
createObjectPayload(object $job, string|null $queue)
Create a payload for an object-based queue handler.
at line 252
protected string
getDisplayName(object $job)
Get the display name for the given job.
at line 262
mixed
getJobTries(mixed $job)
Get the maximum number of attempts for an object-based queue handler.
at line 276
mixed
getJobBackoff(mixed $job)
Get the backoff for an object-based queue handler.
at line 296
mixed
getJobExpiration(mixed $job)
Get the expiration timestamp for an object-based queue handler.
at line 312
protected bool
jobShouldBeEncrypted(object $job)
Determine if the job should be encrypted.
at line 324
protected array
createStringPayload(array|string $job, string|null $queue, mixed $data)
Create a typical, string based queue payload array.
at line 347
static void
createPayloadUsing(callable|null $callback)
Register a callback to be executed when creating job payloads.
Boot-only. The callback persists in a static property for the worker lifetime and runs on every subsequent payload creation across all coroutines. Passing null clears the registry.
at line 359
protected array
withCreatePayloadHooks(string|null $queue, array $payload)
Create the given payload using any registered payload hooks.
at line 375
Queue
setAfterCommitDispatcher(Closure|null $dispatcher)
Set the dispatcher for after-commit queue operations.
at line 390
protected mixed
enqueueUsing(object|string $job, string $payload, string|null $queue, DateInterval|DateTimeInterface|int|null $delay, callable $callback)
Enqueue a job using the given callback.
The callback receives the queue that owns the operation first so deferred pooled dispatch never retains a borrowed queue.
at line 417
protected void
deferEnqueueAfterCommit(DatabaseTransactionsManager $transactions, object|string $job, Closure $enqueue)
Defer an enqueue operation until the applicable transaction commits.
at line 431
protected void
deferBatchEnqueueAfterCommit(DatabaseTransactionsManager $transactions, array $jobs, Closure $enqueue)
Defer a batch enqueue operation until the applicable transaction commits.
at line 480
protected mixed
enqueueNow(object|string $job, string $payload, string|null $queue, DateInterval|DateTimeInterface|int|null $delay, callable $callback)
Enqueue a job immediately using the given callback.
at line 505
protected string
finalizePayloadForQueueing(string|null $queue, object|string $job, string $payload, DateInterval|DateTimeInterface|int|null $delay)
Finalize an encoded payload immediately before queueing.
at line 540
protected array
partitionJobsByAfterCommit(array $jobs, DatabaseTransactionsManager|null $transactions)
Partition jobs by whether they should be deferred until the active transaction commits.
at line 559
protected bool
shouldDispatchAfterCommit(object|string $job)
Determine if the job should be dispatched after the open parent database transactions have committed.
at line 575
protected void
addJobRollbackCallback(DatabaseTransactionsManager $transactions, object|string $job)
Register a transaction rollback callback that releases the job's locks.
at line 587
protected Closure|null
createJobRollbackCallback(object|string $job)
Create a callback that releases the job's locks.
at line 603
protected void
acceptDispatchLocks(object|string $job)
Mark a job's dispatch locks as accepted by the queue.
at line 615
protected void
raiseJobQueueingEvent(string|null $queue, object|string $job, string $payload, DateInterval|DateTimeInterface|int|null $delay)
Raise the job queueing event.
at line 636
protected void
raiseJobQueueingFailedEvent(string|null $queue, object|string $job, string $payload, DateInterval|DateTimeInterface|int|null $delay, Throwable $exception)
Raise the job queueing failed event.
at line 657
protected void
raiseJobQueuedEvent(string|null $queue, mixed $jobId, object|string $job, string $payload, DateInterval|DateTimeInterface|int|null $delay)
Raise the job queued event.
at line 676
protected string|null
normalizeQueue(UnitEnum|string|null $queue)
Normalize an enum queue name without applying defaults or forwarding.
at line 684
protected string
resolveQueue(string $queue)
Get the routed queue name for the given queue.
at line 700
string
getConnectionName()
Get the connection name for the queue.
at line 712
Queue
setConnectionName(string $name)
Set the connection name for the queue.
Boot or tests only. Queue connection instances are cached on QueueManager; runtime use races across coroutines and changes every concurrent dispatch through this connection.
at line 722
array
getConfig()
Get the queue configuration array.
at line 734
Queue
setConfig(array $config)
Set the queue configuration array.
Boot or tests only. Queue connection instances are cached on QueueManager; runtime use races across coroutines and changes every concurrent dispatch through this connection.
at line 744
Container
getContainer()
Get the container instance being used by the connection.
at line 756
Queue
setContainer(Container $container)
Set the IoC container instance.
Boot or tests only. Queue connection instances are cached on QueueManager; runtime use races across coroutines and changes every concurrent dispatch through this connection.
at line 766
static void
flushState()
Flush all static state.