New

Just launched: Vueblocks, a brand-new search engine for Vue packages! Explore Vueblocks →

lemric/batch-processing

Batch Processing
1,445 1
Install
composer require lemric/batch-processing
Latest Version:v1.0.2
PHP:>=8.4
License:proprietary
Last Updated:Apr 27, 2026
Links: GitHub  ·  Packagist
Maintainer: Lemric

Lemric BatchProcessing

Enterprise-grade batch processing for PHP 8.4+.

PHP License Issues


Lemric BatchProcessing is a framework-agnostic library for building robust, restartable, observable batch jobs in PHP. Compliance with PSR standards and the idiomatic PHP style.

Why Lemric BatchProcessing?

  • Production-ready — atomic per-chunk transactions, full restart semantics, durable metadata.
  • Framework-agnostic — works standalone, with optional bridges for Symfony 6.4/7+ and Laravel 11+/12+.
  • Standards-first — PSR-3 logger, PSR-6/16 cache, PSR-11 container, PSR-14 events.
  • Modern PHP — readonly classes, enums, attributes, typed properties, strict types.

Installation

composer require lemric/batch-processing

Requires PHP 8.4 or higher.

Quick Example

use Lemric\BatchProcessing\BatchProcessing;
use Lemric\BatchProcessing\Domain\JobParameters;
use Lemric\BatchProcessing\Item\Reader\IteratorItemReader;
use Lemric\BatchProcessing\Testing\InMemoryItemWriter;

$env    = BatchProcessing::inMemoryEnvironment();
$reader = new IteratorItemReader(range(1, 1000));
$writer = new InMemoryItemWriter();

$step = $env->stepBuilderFactory->get('demoStep')
    ->chunk(100, $reader, null, $writer)
    ->build();

$job = $env->jobBuilderFactory->get('demoJob')->start($step)->build();

$execution = $env->launcher->run($job, JobParameters::of(['run.id' => 1]));

echo $execution->getStatus()->value; // COMPLETED

Documentation

Full documentation lives in the docs/ directory:

Development

Clone the repository and install dependencies:

git clone https://github.com/Lemric/BatchProcessing.git
cd BatchProcessing
composer install

Run the test suite:

composer test

Run static analysis and code style fixes:

composer stan

Support

License

This project is developed by Lemric and is available under a dual licensing model:

Use case Allowed Cost
Open Source project ✅ Free
Personal non-commercial use ✅ Free
Commercial / SaaS / enterprise ❌ Paid license required
Closed-source project ❌ Paid license required

For commercial licensing inquiries, contact: dominik@labudzinski.com

See the LICENSE file for full terms.

Authors

Related Packages

outl1ne/laravel-scout-batch-searchable

This Laravel package adds a BatchSearchable trait to allow batching Scout update...

46,407 31
kladislav/laravel-chunk-upload

Service for chunked upload with several js providers

21,605 6
optimistdigital/laravel-scout-batch-searchable

This Laravel package adds a BatchSearchable trait to allow batching Scout update...

14,014 31
wfeller/laravel-batch

Insert, update or delete models in batch, while still firing model events.

4,482 5
tusimo/laravel-closure-job

function helper to dispatch a closure job

2,642 0

Version History

Version Released PHP License
v1.0.2 >=8.4 proprietary
v1.0.1 >=8.4 proprietary