yokai / batch
Batch architecture library inspired by Akeneo Batch
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
⚠️ BETA
This library is following semver.
However before we reach the first stable version (v1.0.0
), we may decide to introduce API changes in minor versions.
This is why you should stick to a v0.[minor].*
requirement !
Installation
composer require yokai/batch
Documentation
Let's get started around core concepts of this library.
Looking for something in particular ?
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 using queue:
- Normalize/Denormalize job items with
- 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.