QueueManager
class QueueManager implements Factory, Monitor mixin Queue
Traits
Hosts must declare a protected array $poolableDrivers containing their default poolable drivers.
Properties
| protected Closure> | $releaseCallbacks | from HasPoolProxy | |
| protected array | $connections | The array of resolved queue connections. |
|
| protected array | $connectors | The array of resolved queue connectors. |
|
| protected array | $poolableDrivers | The array of drivers which will be wrapped as pool proxies. |
|
| protected QueuePoolProxy>> | $poolProxyClasses | The pool proxy classes for drivers with supplemental queue capabilities. |
Methods
Create a pool proxy for an immutable definition.
Build a namespaced pool definition for a pooled resource.
Get the shared object-pool factory.
Get the release callback for a pooled driver.
Add a driver to the poolable-driver list.
Remove a driver from the poolable-driver list.
Set the poolable-driver list.
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.
Register an event listener for the before job event.
Register an event listener for the after job event.
Register an event listener for the exception occurred job event.
Register an event listener for the daemon queue loop.
Register an event listener for the failed job event.
Register an event listener for the daemon queue starting.
Register an event listener for the daemon queue stopping.
Register the default queue route for a given class.
Forward the given queue to another queue and/or connection.
Pause a queue by its name and connection.
Pause a queue by its name and connection for a given amount of time.
Pause job processing for all queues on all connections.
Resume a paused queue by its name and connection.
Resume job processing for all queues on all connections.
Determine if a queue is paused.
Determine which of the given queues are currently paused.
Indicate that queue workers should not poll for restart or pause signals.
Determine if the driver is connected.
Resolve a queue connection instance.
Get the connector for a given driver.
Get the queue connection configuration.
Get the name of the default queue connection.
Set the name of the default queue connection.
Get the full name for the given connection.
Disconnect a queue connection and close its shared resource pool.
Get the application instance used by the manager.
Register a callback to be executed when creating job payloads.
Dynamically pass calls to the default connection.
Details
in
HasPoolProxy at line 27
protected mixed
createPoolProxy(string $driver, Closure $createCallback, PoolDefinition $definition, string $proxyClass)
Create a pool proxy for an immutable definition.
in
HasPoolProxy at line 48
protected PoolDefinition
poolDefinition(string $resource, array $poolConfig, array $fingerprintSource)
Build a namespaced pool definition for a pooled resource.
at line 481
protected Factory
poolFactory()
Get the shared object-pool factory.
in
HasPoolProxy at line 74
HasPoolProxy
setReleaseCallback(string $driver, Closure $callback)
Set the release callback for a pooled driver.
Boot-only. The callback persists on the manager for the worker lifetime and is captured by every subsequently created proxy for the driver.
in
HasPoolProxy at line 84
Closure|null
getReleaseCallback(string $driver)
Get the release callback for a pooled driver.
in
HasPoolProxy at line 96
HasPoolProxy
addPoolableDriver(string $driver)
Add a driver to the poolable-driver list.
Boot-only. The list persists on the manager for the worker lifetime and is consulted on subsequent driver creation. Per-request use races across coroutines and does not affect already-cached drivers.
in
HasPoolProxy at line 112
HasPoolProxy
removePoolableDriver(string $driver)
Remove a driver from the poolable-driver list.
Boot-only. The list persists on the manager for the worker lifetime and is consulted on subsequent driver creation. Per-request use races across coroutines and does not affect already-cached drivers.
in
HasPoolProxy at line 129
array
getPoolableDrivers()
Get the poolable-driver list.
in
HasPoolProxy at line 141
HasPoolProxy
setPoolableDrivers(array $poolableDrivers)
Set the poolable-driver list.
Boot-only. The list persists on the manager for the worker lifetime and is consulted on subsequent driver creation. Per-request use races across coroutines and does not affect already-cached drivers.
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 195
protected Container
queueRoutesContainer()
Get the container that owns the queue routes.
at line 77
__construct(Container $app)
Create a new queue manager instance.
at line 88
void
before(mixed $callback)
Register an event listener for the before job event.
Boot-only. The listener persists on the singleton event dispatcher for the worker lifetime and runs for every subsequent matching queue event.
at line 100
void
after(mixed $callback)
Register an event listener for the after job event.
Boot-only. The listener persists on the singleton event dispatcher for the worker lifetime and runs for every subsequent matching queue event.
at line 112
void
exceptionOccurred(mixed $callback)
Register an event listener for the exception occurred job event.
Boot-only. The listener persists on the singleton event dispatcher for the worker lifetime and runs for every subsequent matching queue event.
at line 124
void
looping(mixed $callback)
Register an event listener for the daemon queue loop.
Boot-only. The listener persists on the singleton event dispatcher for the worker lifetime and runs for every subsequent matching queue event.
at line 136
void
failing(mixed $callback)
Register an event listener for the failed job event.
Boot-only. The listener persists on the singleton event dispatcher for the worker lifetime and runs for every subsequent matching queue event.
at line 148
void
starting(mixed $callback)
Register an event listener for the daemon queue starting.
Boot-only. The listener persists on the singleton event dispatcher for the worker lifetime and runs for every subsequent matching queue event.
at line 160
void
stopping(mixed $callback)
Register an event listener for the daemon queue stopping.
Boot-only. The listener persists on the singleton event dispatcher for the worker lifetime and runs for every subsequent matching queue event.
at line 174
void
route(array|string $class, UnitEnum|string|null $queue = null, UnitEnum|string|null $connection = null)
Register the default queue route for a given class.
Boot-only. The route persists on the singleton QueueRoutes registry for the worker lifetime and affects every subsequent dispatch of that class.
at line 187
void
forward(array|string|UnitEnum $queue, UnitEnum|string|null $to = null, UnitEnum|string|null $connection = null)
Forward the given queue to another queue and/or connection.
Boot-only. Forwards persist on the singleton QueueRoutes registry for the worker lifetime and affect every subsequent dispatch and queue operation.
at line 203
void
pause(UnitEnum|string $queue, UnitEnum|string|null $connection = null)
Pause a queue by its name and connection.
at line 225
void
pauseFor(UnitEnum|string $queue, DateInterval|DateTimeInterface|int $ttl, UnitEnum|string|null $connection = null)
Pause a queue by its name and connection for a given amount of time.
at line 247
void
pauseAll()
Pause job processing for all queues on all connections.
at line 265
void
resume(UnitEnum|string $queue, UnitEnum|string|null $connection = null)
Resume a paused queue by its name and connection.
at line 289
void
resumeAll()
Resume job processing for all queues on all connections.
Queues paused individually are not affected.
at line 307
bool
isPaused(string $queue, string|null $connection = null)
Determine if a queue is paused.
at line 321
array
getPausedQueues(array $queues, string|null $connection = null)
Determine which of the given queues are currently paused.
at line 351
void
withoutInterruptionPolling()
Indicate that queue workers should not poll for restart or pause signals.
Boot-only. Mutates process-global worker flags; runtime use races across coroutines and changes every concurrent worker pause or restart check.
at line 360
bool
connected(UnitEnum|string|null $name = null)
Determine if the driver is connected.
at line 376
Queue
connection(UnitEnum|string|null $name = null)
Resolve a queue connection instance.
at line 401
protected Queue
resolve(string $name)
Resolve a queue connection.
at line 435
protected ConnectorInterface
getConnector(string $driver)
Get the connector for a given driver.
at line 450
void
extend(string $driver, Closure $resolver)
Add a queue connection resolver.
Boot-only. The resolver persists in the singleton's connectors array for the worker lifetime and applies to every subsequent connection.
at line 461
void
addConnector(string $driver, Closure $resolver)
Add a queue connection resolver.
Boot-only. The resolver persists in the singleton's connectors array for the worker lifetime and applies to every subsequent connection.
at line 469
protected array|null
getConfig(string $name)
Get the queue connection configuration.
at line 489
string
getDefaultDriver()
Get the name of the default queue connection.
at line 499
void
setDefaultDriver(UnitEnum|string $name)
Set the name of the default queue connection.
Boot-only. Mutates process-global config; per-request use races across coroutines.
at line 509
string
getName(string|null $connection = null)
Get the full name for the given connection.
at line 523
void
purge(string|null $name = null)
Disconnect a queue connection and close its shared resource pool.
Boot or tests only, plus operational recovery of broken pooled resources. Other connections sharing the pool transparently acquire a fresh pool on their next operation.
at line 559
Container
getApplication()
Get the application instance used by the manager.
at line 571
QueueManager
setApplication(Container $app)
Set the application instance used by the manager.
Tests only. Swaps the container reference on the singleton and on every cached queue connection; per-request use races across coroutines and breaks every concurrent dispatch.
at line 596
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 604
mixed
__call(string $method, array $parameters)
Dynamically pass calls to the default connection.