Skip to content

davispeixoto/PHP-Batch

Repository files navigation

PHP-Batch

Latest Stable Version Total Downloads Scrutinizer Code Quality Codacy Badge Code Climate Build Status SensioLabsInsight

A framework for PHP batch processing

Motivation

  • scalability for medium to large applications (let the servers to serve, and keep heavy processing in another offline place)
  • PHP is popular and is getting better every day, in tools and community. And there is no such tool yet for PHP.
  • Aside mainframe and big data worlds, apparently there is only Spring Batch, a Java framework for this sort of processing, and yes, this work is highly inspirated by it.

Use cases

  • images processing (resizing, watermarks, upload to CDN servers)
  • processing credit cards payments
  • weekly, end of month, quarters, etc, reports generation
  • sending transactional notifications
  • data sync between systems (ERP to CRM, for example)
  • enterprise partners files transfer and processing

Be Warned!

More than other common software artifacts, heavy processes must be thought and architected way more thoroughly

Features

  • Parallelization
  • StopWatcher (for time-boxed batches)
  • Manual Stop for Business Reasons
  • Retry
  • Skip
  • Logging
  • Events
  • Chaining

Installation

Configuration

Usage

License

This software is licensed under the MIT license

Versioning

This project follows the Semantic Versioning

Thanks

An amazing "Thank you, guys!" for Jetbrains folks, who kindly empower this project with a free open-source license for PhpStorm which can bring a whole new level of joy for coding.

Jetbrains

PhpStorm

About

A framework for PHP batch processing

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published