yokai / batch
Batch architecture library inspired by Akeneo Batch
0.7.7
2025-07-17 11:51 UTC
Requires
- php: ^8.1
- ext-json: *
- psr/container: ^1.0|^2.0
- psr/event-dispatcher: ^1.0
- psr/log: ^1.0|^2.0|^3.0
Requires (Dev)
- phpspec/prophecy-phpunit: ^2.0
- phpunit/phpunit: ^9.5
- symfony/filesystem: ^6.4|^7.0
Suggests
- yokai/batch-doctrine-dbal: Store jobs executions in a relational database
- yokai/batch-doctrine-orm: Read from Doctrine ORM entities
- yokai/batch-doctrine-persistence: Write to Doctrine objects to managers
- yokai/batch-symfony-console: Add command to trigger jobs and async job launcher via command
- yokai/batch-symfony-framework: Integrate to Symfony framework via a bundle
- yokai/batch-symfony-messenger: Trigger jobs using message dispatch
- yokai/batch-symfony-serializer: Process items using (de)normalization, serialize job execution for certain storages
- yokai/batch-symfony-validator: Skip invalid items during process
README
Batch architecture library inspired by Spring Batch.
Features
- 📑 keep track of the execution of your jobs
- 🚀 base classes to handle batch processing jobs
- ♻️ decoupled reusable components to compose your jobs
- 🏭 bridges with popular libraries and frameworks
Installation
composer require yokai/batch
Documentation
Please read the getting started documentation page.
Looking for something more specific ?
- Store job executions in relational database
- Read from Doctrine ORM entities
- Write to Doctrine ORM/ODM... objects
- Copy/Move files in a job / Trigger job when file found
- Trigger async jobs using CLI command
- Integration with Symfony framework
- Trigger async jobs using queue
- Normalize/Denormalize job items with
- Use UUID or ULID for job execution ids
- Validate & Skip invalid items
Contribution
This package is a readonly split of a larger repository, containing all tests and sources for all librairies of the batch universe.
Please feel free to open an issue or a pull request in the main repository.
The library was originally created by Yann Eugoné. See the list of contributors.
License
This library is under MIT LICENSE.