Download the PHP package smartgeomatics/laravel-deferred-batch without Composer
On this page you can find all versions of the php package smartgeomatics/laravel-deferred-batch. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package laravel-deferred-batch
Laravel Deferred Batch
A Laravel package that lets you lazily construct and dispatch a job batch from within a job chain. Instead of defining batch jobs at dispatch time, you provide a builder callback that runs when the chain reaches that step — allowing you to build the batch based on runtime state.
Requirements
- PHP 8.2+
- Laravel 12 or 13
Installation
The service provider is auto-discovered via Laravel's package discovery.
Usage
Basic Example
Use DeferredBatch as a step in a job chain. The builder callback must return a PendingBatch or null.
Skipping the Batch
Return null from the builder to skip the batch step entirely. The chain continues with the next job as normal.
Using an Invokable Class
For complex builders or when you need a serializable class instead of a closure:
Queue and Connection Settings
DeferredBatch is a standard queueable job, so you can set its queue and connection:
How It Works
- When the chain reaches the
DeferredBatchjob, it invokes your builder callback. - If the builder returns
null, the chain continues to the next job. - If it returns a
PendingBatch, the remaining chain is attached to the batch'sfinallycallback and the batch is dispatched. - Any
catchcallbacks from the chain are forwarded to the batch (when the batch does not allow failures).
This means the next job in the chain runs after the batch completes, regardless of whether individual batch jobs failed — as long as the batch itself is not cancelled.
License
MIT
All versions of laravel-deferred-batch with dependencies
illuminate/bus Version ^12.0|^13.0
illuminate/container Version ^12.0|^13.0
illuminate/contracts Version ^12.0|^13.0
illuminate/queue Version ^12.0|^13.0
illuminate/support Version ^12.0|^13.0
laravel/serializable-closure Version ^1.0|^2.0