bureaucrat
![Software License][ico-license]
![Coverage Status][ico-scrutinizer]
![Total Downloads][ico-downloads], (*1)
Failure handling for PHP. I would add "elegant" here, but I don't lie., (*2)
Don't use it, work in progress., (*3)
Install
Via Composer, (*4)
``` bash
$ composer require aguimaraes/bureaucrat, (*5)
## Usage
``` php
$retry = (new Retry())
->onlyOnException(\RuntimeException::class)
->atLeast(3)
->withDelay(2, TimeUnit::SECOND)
->abortOnException(\DomainException::class);
$circuitBreaker = (new CircuitBreaker())
->withFailureThreshold(3, 5)
->withSuccessThreshold(4, 5)
->withDelay(20, TimeUnit::SECOND)
->failOnException(\RuntimeException::class)
->failOnTimeOut(1, TimeUnit::MINUTE);
$result = (new Failsafe())
->with($retry)
->and($circuitBreaker)
->run(function() {
// ... your thing
});
Change log
Please see CHANGELOG for more information on what has changed recently., (*6)
Testing
bash
$ composer test
, (*7)
Contributing
Please see CONTRIBUTING and CODE_OF_CONDUCT for details., (*8)
Security
If you discover any security related issues, please email alvaroguimaraes@gmail.com instead of using the issue tracker., (*9)
Credits
License
The MIT License (MIT). Please see License File for more information., (*10)