lemric/batch-processing
Composer 安装命令:
composer require lemric/batch-processing
包简介
Batch Processing
关键字:
README 文档
README
Enterprise-grade batch processing for PHP 8.4+.
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:
- Getting Started — installation, quick start, architecture.
- Core Concepts — domain model, jobs, steps, chunks.
- Reading & Writing — readers, processors, writers.
- Error Handling — retry, skip, exceptions.
- Infrastructure — repository, transactions, events.
- Advanced — partitioning, flow jobs, scopes, restart.
- Framework Integration — Symfony & Laravel.
- Reference — configuration, PSR, testing, performance.
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
- Issues: GitHub Issues
- Security: Security Policy
- Discussions: GitHub Discussions
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
- Dominik Labudzinski — dominik@labudzinski.com — labudzinski.com
- Lemric — lemric.com
统计信息
- 总下载量: 270
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 1
- 点击次数: 1
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: proprietary
- 更新时间: 2026-04-27