Queueable
trait Queueable (View source)
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 |
DateTimeInterface|DateInterval|array|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 |
Methods
Dispatch the job with the given arguments.
Dispatch the job with the given arguments if the given truth test passes.
Dispatch the job with the given arguments unless the given truth test passes.
Dispatch a command to its appropriate handler in the current process.
Dispatch a command to its appropriate handler after the current process.
Set the jobs that should run if this job is successful.
Create a new pending job dispatch instance.
Get the number of seconds until the given DateTime.
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.
Release the job back into the queue after (n) seconds.
Indicate that queue interactions like fail, delete, and release should be faked.
Assert that the job was not deleted from the queue.
Assert that the job was manually failed with a specific exception.
Assert that the job was released back onto the queue.
Assert that the job was not released back onto the queue.
Set the desired connection for the job.
Set the desired connection for the chain.
Set the desired delay in seconds for the job.
Indicate that the job should be dispatched after all database transactions have committed.
Indicate that the job should not wait until database transactions have been committed before dispatching.
Specify the middleware the job should be dispatched through.
Prepend a job to the current chain so that it is run after the currently running job.
Assert that the job has the given chain of jobs attached to it.
Get the property value prepared for serialization.
Get the restored property value after deserialization.
Get the query for model restoration.
Details
static PendingDispatch|Fluent
dispatchIf(bool|Closure $boolean, mixed ...$arguments)
Dispatch the job with the given arguments if the given truth test passes.
static PendingDispatch|Fluent
dispatchUnless(bool|Closure $boolean, mixed ...$arguments)
Dispatch the job with the given arguments unless the given truth test passes.
static mixed
dispatchSync(mixed ...$arguments)
Dispatch a command to its appropriate handler in the current process.
Queueable jobs will be dispatched to the "sync" queue.
static mixed
dispatchAfterResponse(mixed ...$arguments)
Dispatch a command to its appropriate handler after the current process.
static protected PendingDispatch
newPendingDispatch(mixed $job)
Create a new pending job dispatch instance.
protected int
secondsUntil(DateTimeInterface|DateInterval|int $delay)
Get the number of seconds until the given DateTime.
protected int
availableAt(DateTimeInterface|DateInterval|int $delay = 0)
Get the "available at" UNIX timestamp.
protected DateTimeInterface|int
parseDateInterval(DateTimeInterface|DateInterval|int $delay)
If the given value is an interval, convert it to a DateTime instance.
protected string
runTimeForHumans(float $startTime, float $endTime = null)
Given a start time, format the total run time for human readability.
void
release(DateTimeInterface|DateInterval|int $delay = 0)
Release the job back into the queue after (n) seconds.
$this
withFakeQueueInteractions()
Indicate that queue interactions like fail, delete, and release should be faked.
$this
assertFailedWith(Throwable|string $exception)
Assert that the job was manually failed with a specific exception.
$this
assertReleased(DateTimeInterface|DateInterval|int $delay = null)
Assert that the job was released back onto the queue.
$this
delay(DateTimeInterface|DateInterval|array|int|null $delay)
Set the desired delay in seconds for the job.
$this
afterCommit()
Indicate that the job should be dispatched after all database transactions have committed.
$this
beforeCommit()
Indicate that the job should not wait until database transactions have been committed before dispatching.
$this
through(array|object $middleware)
Specify the middleware the job should be dispatched through.
$this
prependToChain(mixed $job)
Prepend a job to the current chain so that it is run after the currently running job.
void
assertHasChain(array $expectedChain)
Assert that the job has the given chain of jobs attached to it.
protected mixed
getSerializedPropertyValue(mixed $value, bool $withRelations = true)
Get the property value prepared for serialization.
protected mixed
getRestoredPropertyValue(mixed $value)
Get the restored property value after deserialization.
protected Collection
restoreCollection(ModelIdentifier $value)
Restore a queueable collection instance.
protected TModel>
getQueryForModelRestoration(TModel $model, array|int $ids)
Get the query for model restoration.
protected mixed
getPropertyValue(ReflectionProperty $property)
Get the property value for the given property.