QueueFake
class QueueFake extends QueueManager implements Fake, 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. |
from QueueManager |
| protected array | $connectors | The array of resolved queue connectors. |
from QueueManager |
| protected array | $poolableDrivers | The array of drivers which will be wrapped as pool proxies. |
from QueueManager |
| protected QueuePoolProxy>> | $poolProxyClasses | The pool proxy classes for drivers with supplemental queue capabilities. |
from QueueManager |
| Factory|null | $queue | The original queue manager. |
|
| protected Collection | $jobsToFake | The job types that should be intercepted instead of pushed to the queue. |
|
| protected Collection | $jobsToBeQueued | The job types that should be pushed to the queue and not intercepted. |
|
| protected array | $jobs | All of the jobs that have been pushed. |
|
| protected RawPushType> | $rawPushes | All of the payloads that have been raw pushed. |
|
| protected array | $uniqueJobs | All of the unique jobs that were pushed. |
|
| protected array | $reserved | All of the jobs that have been marked as reserved. |
|
| protected bool | $serializeAndRestore | Indicates if items should be serialized and restored when pushed to the queue. |
|
| protected array<int, callable> | $beforePushingCallbacks | The callbacks that should be invoked before pushing a job. |
|
| protected array<int, callable> | $afterPushingCallbacks | The callbacks that should be invoked after pushing a job. |
Methods
Create a pool proxy for an immutable definition.
Build a namespaced pool definition for a pooled resource.
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.
Create a new fake queue instance.
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.
Resume a paused queue by its name and connection.
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.
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.
Register a callback to be executed when creating job payloads.
Override the QueueManager to prevent circular dependency.
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.
Get the class name of the first parameter of the given Closure.
Get the class names of the first parameter of the given Closure, including union types.
Get the class names / types of the parameters of the given Closure.
Get the class names / types of the return type of the given Closure.
Specify the jobs that should be queued instead of faked.
Assert if a job was pushed based on a truth-test callback.
Assert if a job was pushed a number of times.
Assert if a job was pushed exactly once.
Assert if a job was pushed based on a truth-test callback.
Assert if a job was pushed with chained jobs based on a truth-test callback.
Assert if a job was pushed with an empty chain based on a truth-test callback.
Assert if a job was pushed with chained jobs based on a truth-test callback.
Assert if a job was pushed with chained jobs based on a truth-test callback.
Assert if a closure was pushed based on a truth-test callback.
Assert that a closure was not pushed based on a truth-test callback.
Determine if the given chain is entirely composed of objects.
Determine if a job was pushed based on a truth-test callback.
Assert the total count of jobs that were pushed.
Assert that no jobs were pushed.
Get all of the jobs matching a truth-test callback.
Get all of the jobs by listener class, passing an optional truth-test callback.
Determine if there are any stored jobs for a given class.
Get the size of the queue.
Get the number of pending jobs.
Get the number of delayed jobs.
Get the number of reserved jobs.
Get the number of jobs across every queue.
Get the number of pending jobs across every queue.
Get the number of delayed jobs across every queue.
Get the number of reserved jobs across every queue.
Get the pending jobs for the given queue.
Get the delayed jobs for the given queue.
Get the reserved jobs for the given queue.
Get all pending jobs across every queue.
Get all delayed jobs across every queue.
Map an array of jobs to a collection of inspected jobs.
Get all reserved jobs across every queue.
Get pushed jobs classified by their delay.
Get the creation timestamp of the oldest pending job, excluding delayed jobs.
Push a new job onto the queue.
Push a job through the fake or its underlying queue.
Determine if a job should be faked or actually dispatched.
Determine if a job should be pushed to the queue instead of faked.
Push a raw payload onto the queue.
Push a new job onto the queue after (n) seconds.
Push a new job onto the queue.
Push a new job onto a specific queue after (n) seconds.
Record the given job as reserved.
Push an array of jobs onto the queue.
Get the jobs that have been pushed.
Get the payloads that were pushed raw.
Specify if jobs should be serialized and restored when being "pushed" to the queue.
Serialize and unserialize the job to simulate the queueing process.
Release the locks for all unique jobs that were pushed.
Clear all of the reserved jobs.
Register a callback to be invoked before pushing a job.
Register a callback to be invoked after pushing a job.
Normalize a queue identifier.
Get the connection name for the queue.
Set the connection name for the queue.
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.
in
HasPoolProxy at line 66
abstract protected Factory
poolFactory()
Get the pool factory used by this manager.
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.
in
ResolvesQueueRoutes at line 48
protected Container
queueRoutesContainer()
Get the container that owns the queue routes.
at line 101
__construct(Container $app, array|string $jobsToFake = [], Factory|null $queue = null)
Create a new fake queue instance.
in
QueueManager 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.
in
QueueManager 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.
in
QueueManager 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.
in
QueueManager 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.
in
QueueManager 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.
in
QueueManager 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.
in
QueueManager 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.
in
QueueManager 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.
in
QueueManager 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.
in
QueueManager at line 203
void
pause(UnitEnum|string $queue, UnitEnum|string|null $connection = null)
Pause a queue by its name and connection.
in
QueueManager 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.
in
QueueManager at line 247
void
pauseAll()
Pause job processing for all queues on all connections.
in
QueueManager at line 265
void
resume(UnitEnum|string $queue, UnitEnum|string|null $connection = null)
Resume a paused queue by its name and connection.
in
QueueManager at line 289
void
resumeAll()
Resume job processing for all queues on all connections.
Queues paused individually are not affected.
in
QueueManager at line 307
bool
isPaused(string $queue, string|null $connection = null)
Determine if a queue is paused.
in
QueueManager at line 321
array
getPausedQueues(array $queues, string|null $connection = null)
Determine which of the given queues are currently paused.
in
QueueManager 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.
in
QueueManager at line 360
bool
connected(UnitEnum|string|null $name = null)
Determine if the driver is connected.
at line 379
Queue
connection(mixed $value = null)
Resolve a queue connection instance.
in
QueueManager at line 401
protected Queue
resolve(string $name)
Resolve a queue connection.
in
QueueManager at line 435
protected ConnectorInterface
getConnector(string $driver)
Get the connector for a given driver.
in
QueueManager 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.
in
QueueManager 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.
in
QueueManager at line 469
protected array|null
getConfig(string $name)
Get the queue connection configuration.
in
QueueManager at line 489
string
getDefaultDriver()
Get the name of the default queue connection.
in
QueueManager 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.
in
QueueManager at line 509
string
getName(string|null $connection = null)
Get the full name for the given connection.
in
QueueManager 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.
in
QueueManager at line 559
Container
getApplication()
Get the application instance used by the manager.
in
QueueManager 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.
in
QueueManager 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 858
mixed
__call(string $method, array $parameters)
Override the QueueManager to prevent circular dependency.
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
ReflectsClosures at line 26
protected string
firstClosureParameterType(Closure $closure)
Get the class name of the first parameter of the given Closure.
in
ReflectsClosures at line 49
protected array
firstClosureParameterTypes(Closure $closure)
Get the class names of the first parameter of the given Closure, including union types.
in
ReflectsClosures at line 75
protected array
closureParameterTypes(Closure $closure)
Get the class names / types of the parameters of the given Closure.
in
ReflectsClosures at line 97
protected array
closureReturnTypes(Closure $closure)
Get the class names / types of the return type of the given Closure.
at line 113
QueueFake
except(array|string $jobsToBeQueued)
Specify the jobs that should be queued instead of faked.
at line 123
void
assertPushed(Closure|string $job, callable|int|null $callback = null)
Assert if a job was pushed based on a truth-test callback.
at line 143
void
assertPushedTimes(string $job, int $times = 1)
Assert if a job was pushed a number of times.
at line 161
void
assertPushedOnce(string $job)
Assert if a job was pushed exactly once.
at line 169
void
assertPushedOn(UnitEnum|string|null $queue, Closure|string $job, callable|null $callback = null)
Assert if a job was pushed based on a truth-test callback.
at line 192
void
assertPushedWithChain(string $job, array $expectedChain = [], callable|null $callback = null)
Assert if a job was pushed with chained jobs based on a truth-test callback.
at line 212
void
assertPushedWithoutChain(string $job, callable|null $callback = null)
Assert if a job was pushed with an empty chain based on a truth-test callback.
at line 225
protected void
assertPushedWithChainOfObjects(string $job, array $expectedChain, callable|null $callback)
Assert if a job was pushed with chained jobs based on a truth-test callback.
at line 238
protected void
assertPushedWithChainOfClasses(string $job, array $expectedChain, callable|null $callback)
Assert if a job was pushed with chained jobs based on a truth-test callback.
at line 255
void
assertClosurePushed(callable|int|null $callback = null)
Assert if a closure was pushed based on a truth-test callback.
at line 263
void
assertClosureNotPushed(callable|null $callback = null)
Assert that a closure was not pushed based on a truth-test callback.
at line 271
protected bool
isChainOfObjects(array $chain)
Determine if the given chain is entirely composed of objects.
at line 279
void
assertNotPushed(Closure|string $job, callable|null $callback = null)
Determine if a job was pushed based on a truth-test callback.
at line 295
void
assertCount(int $expectedCount)
Assert the total count of jobs that were pushed.
at line 309
void
assertNothingPushed()
Assert that no jobs were pushed.
at line 319
Collection
pushed(string $job, callable|null $callback = null)
Get all of the jobs matching a truth-test callback.
at line 338
Collection
pushedRaw(Closure|null $callback = null)
Get all of the raw pushes matching a truth-test callback.
at line 350
Collection
listenersPushed(string $listenerClass, callable|null $callback = null)
Get all of the jobs by listener class, passing an optional truth-test callback.
at line 371
bool
hasPushed(string $job)
Determine if there are any stored jobs for a given class.
at line 387
int
size(UnitEnum|string|null $queue = null)
Get the size of the queue.
at line 397
int
pendingSize(UnitEnum|string|null $queue = null)
Get the number of pending jobs.
at line 405
int
delayedSize(UnitEnum|string|null $queue = null)
Get the number of delayed jobs.
at line 413
int
reservedSize(UnitEnum|string|null $queue = null)
Get the number of reserved jobs.
at line 421
int
totalSize()
Get the number of jobs across every queue.
at line 431
int
totalPendingSize()
Get the number of pending jobs across every queue.
at line 439
int
totalDelayedSize()
Get the number of delayed jobs across every queue.
at line 447
int
totalReservedSize()
Get the number of reserved jobs across every queue.
at line 457
Collection
pendingJobs(UnitEnum|string|null $queue = null)
Get the pending jobs for the given queue.
at line 469
Collection
delayedJobs(UnitEnum|string|null $queue = null)
Get the delayed jobs for the given queue.
at line 481
Collection
reservedJobs(UnitEnum|string|null $queue = null)
Get the reserved jobs for the given queue.
at line 493
Collection
allPendingJobs()
Get all pending jobs across every queue.
at line 503
Collection
allDelayedJobs()
Get all delayed jobs across every queue.
at line 513
protected Collection
inspectJobs(array $jobs)
Map an array of jobs to a collection of inspected jobs.
at line 534
Collection
allReservedJobs()
Get all reserved jobs across every queue.
at line 542
protected array
pushedJobsWithDelay(bool $delayed)
Get pushed jobs classified by their delay.
at line 556
int|null
creationTimeOfOldestPendingJob(UnitEnum|string|null $queue = null)
Get the creation timestamp of the oldest pending job, excluding delayed jobs.
at line 567
mixed
push(object|string $job, mixed $data = '', UnitEnum|string|null $queue = null)
Push a new job onto the queue.
at line 575
protected mixed
enqueueUsing(object|string $job, mixed $data, UnitEnum|string|null $queue, DateInterval|DateTimeInterface|int|null $delay)
Push a job through the fake or its underlying queue.
at line 631
bool
shouldFakeJob(object|string $job)
Determine if a job should be faked or actually dispatched.
at line 649
protected bool
shouldDispatchJob(object|string $job)
Determine if a job should be pushed to the queue instead of faked.
at line 663
mixed
pushRaw(string $payload, UnitEnum|string|null $queue = null, array $options = [])
Push a raw payload onto the queue.
at line 677
mixed
later(DateInterval|DateTimeInterface|int $delay, object|string $job, mixed $data = '', UnitEnum|string|null $queue = null)
Push a new job onto the queue after (n) seconds.
at line 689
mixed
pushOn(UnitEnum|string|null $queue, object|string $job, mixed $data = '')
Push a new job onto the queue.
at line 697
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 709
void
reserve(object|string $job, UnitEnum|string|null $queue = null)
Record the given job as reserved.
at line 728
Job|null
pop(UnitEnum|string|null $queue = null)
Pop the next job off of the queue.
at line 736
mixed
bulk(array $jobs, mixed $data = '', UnitEnum|string|null $queue = null)
Push an array of jobs onto the queue.
at line 754
array
pushedJobs()
Get the jobs that have been pushed.
at line 764
array
rawPushes()
Get the payloads that were pushed raw.
at line 772
QueueFake
serializeAndRestore(bool $serializeAndRestore = true)
Specify if jobs should be serialized and restored when being "pushed" to the queue.
at line 782
protected mixed
serializeAndRestoreJob(mixed $job)
Serialize and unserialize the job to simulate the queueing process.
at line 790
void
releaseUniqueJobLocks()
Release the locks for all unique jobs that were pushed.
at line 804
void
clearReserved()
Clear all of the reserved jobs.
at line 812
QueueFake
beforePushing(callable $callback)
Register a callback to be invoked before pushing a job.
at line 822
QueueFake
afterPushing(callable $callback)
Register a callback to be invoked after pushing a job.
at line 832
protected string|null
normalizeQueue(UnitEnum|string|null $queue)
Normalize a queue identifier.
at line 840
string
getConnectionName()
Get the connection name for the queue.
at line 848
Queue
setConnectionName(string $name)
Set the connection name for the queue.