ChainedBatch
class ChainedBatch implements ShouldQueue (View source)
Traits
Properties
string | $batchId | The batch ID (if applicable). |
from Batchable |
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 |
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 |
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 |
Collection | $jobs | The collection of batched jobs. |
|
string | $name | The name of the batch. |
|
array | $options | The batch options. |
Methods
Indicate that the job should use a fake batch.
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.
Get the number of seconds until the given DateTime.
If the given value is an interval, convert it to a DateTime instance.
Release the job back into the queue after (n) seconds.
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.
Prepare any nested batches within the given collection of jobs.
Handle the job.
Convert the chained batch instance into a pending batch.
Move the remainder of the chain to a "finally" batch callback.
Details
Batch|null
batch()
Get the batch instance for the job, if applicable.
bool
batching()
Determine if the batch is still active and processing.
$this
withBatchId(string $batchId)
Set the batch ID on the job.
withFakeBatch(string $id = '', string $name = '', int $totalJobs = 0, int $pendingJobs = 0, int $failedJobs = 0, array $failedJobIds = [], array $options = [], CarbonImmutable|null $createdAt = null, CarbonImmutable|null $cancelledAt = null, CarbonImmutable|null $finishedAt = null)
Indicate that the job should use a fake batch.
static PendingDispatch
dispatch(mixed ...$arguments)
Dispatch the job with the given arguments.
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 PendingChain
withChain(array $chain)
Set the jobs that should run if this job is successful.
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 int
currentTime()
Get the current system time as a UNIX timestamp.
int
attempts()
Get the number of times the job has been attempted.
void
delete()
Delete the job from the queue.
void
fail(Throwable|string|null $exception = null)
Fail the job from the queue.
void
release(DateTimeInterface|DateInterval|int $delay = 0)
Release the job back into the queue after (n) seconds.
$this
setJob(Job $job)
Set the base queue job instance.
$this
onConnection(string|null $connection)
Set the desired connection for the job.
$this
onQueue(string|null $queue)
Set the desired queue for the job.
$this
allOnConnection(string|null $connection)
Set the desired connection for the chain.
$this
allOnQueue(string|null $queue)
Set the desired queue for the chain.
$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
chain(array $chain)
Set the jobs that should run if this job is successful.
$this
prependToChain(mixed $job)
Prepend a job to the current chain so that it is run after the currently running job.
$this
appendToChain(mixed $job)
Append a job to the end of the current chain.
protected string
serializeJob(mixed $job)
Serialize a job for queuing.
void
dispatchNextJobInChain()
Dispatch the next job on the chain.
void
invokeChainCatchCallbacks(Throwable $e)
Invoke all of the chain's failed job callbacks.
void
__construct(PendingBatch $batch)
Create a new chained batch instance.
static Collection
prepareNestedBatches(Collection $jobs)
Prepare any nested batches within the given collection of jobs.
void
handle()
Handle the job.
PendingBatch
toPendingBatch()
Convert the chained batch instance into a pending batch.
protected PendingBatch
attachRemainderOfChainToEndOfBatch(PendingBatch $batch)
Move the remainder of the chain to a "finally" batch callback.