yucadoo / bgy-neighborhoods-diagnostic
Error detection strategy for Boris Guéry's transient error handling using Neighborhoods' throwable diagnostic component.
0.0.1
2020-10-18 16:32 UTC
Requires
- php: ^7.3
- borisguery/transient-error-handling: ^0.4.0
- neighborhoods/throwable-diagnostic-component: ^2.1
Requires (Dev)
- phpunit/phpunit: >=8.0
- squizlabs/php_codesniffer: ^3.0
This package is auto-updated.
Last update: 2024-10-19 01:24:29 UTC
README
Error detection strategy for Boris Guéry's transient error handling using Neighborhoods' throwable diagnostic component.
Install
Via Composer
$ composer require yucadoo/bgy-neighborhoods-diagnostic
Usage
use Bgy\TransientFaultHandling\RetryPolicy; use Bgy\TransientFaultHandling\RetryStrategies\FixedInterval; use YucaDoo\BgyNeighborhoodsDiagnostic\ExceptionDetectionStrategy as NeighborhoodsErrorDetectionStrategy; /** * Obtain a preconfigured ThrowableDiagnostic builder factory. * You can use Symfony DI as explained in Neighborhoods' throwable diagnostic component. */ $throwableDiagnosticBuilderFactory = $container->get('ThrowableDiagnosticBuilderFactoryWithTailoredDecoratorStack'); $neighborhoodsErrorDetectionStrategy = new NeighborhoodsErrorDetectionStrategy(); $neighborhoodsErrorDetectionStrategy->setThrowableDiagnosticBuilderFactory($throwableDiagnosticBuilderFactory); // Compose retry policy $retryCount = 10; $retryIntervalInMicroseconds = 1000000 // 1 sec $retryStrategy = new FixedInterval($retryCount, $retryIntervalInMicroseconds); $retryPolicy = new RetryPolicy($neighborhoodsErrorDetectionStrategy, $retryStrategy); $retryPolicy->execute(function() { // API calls // Database calls });
Testing
$ composer test
Contributing
Please see CONTRIBUTING and CODE_OF_CONDUCT for details.
Security
If you discover any security related issues, please email hrcajuka@gmail.com instead of using the issue tracker.
Credits
License
The MIT License (MIT). Please see License File for more information.