rymanalu/laravel-circuit-breaker

Circuit Breaker pattern implementation in Laravel 5.
1,322 5
Install
composer require rymanalu/laravel-circuit-breaker
Latest Version:v1.0.1
PHP:>=5.5.9
License:MIT
Last Updated:Dec 8, 2016
Links: GitHub  ·  Packagist
Maintainer: rymanalu

Laravel 5 Circuit Breaker

Build Status

This package provides an implementation of Circuit Breaker pattern for Laravel 5.

Installation

First, install this package:

composer require rymanalu/laravel-circuit-breaker

Next, add the ServiceProvider to the providers array in config/app.php:

Rymanalu\LaravelCircuitBreaker\CircuitBreakerServiceProvider::class,

You can use the facade for shorter code. Add this to your aliases:

'CircuitBreaker' => Rymanalu\LaravelCircuitBreaker\CircuitBreakerFacade::class,

APIs

<?php

use CircuitBreaker;

/**
 * Get the number of failures for the given key.
 *
 * @param  string  $key
 * @return int
 */
CircuitBreaker::failures($key);

/**
 * Reset the number of failures for the given key.
 *
 * @param  string  $key
 * @return bool
 */
CircuitBreaker::resetFailures($key);

/**
 * Increment the counter for a given key for a given decay time.
 *
 * @param  string  $key
 * @param  float|int  $decayMinutes
 * @return int
 */
CircuitBreaker::track($key, $decayMinutes = 1);

/**
 * Determine if the given key has too many failures.
 *
 * @param  string  $key
 * @param  int  $maxFailures
 * @param  int  $decayMinutes
 * @return bool
 */
CircuitBreaker::tooManyFailures($key, $maxFailures, $decayMinutes = 1);

Related Packages

algoyounes/circuit-breaker

Circuit Breaker is laravel package that provides a way to handle failures gracef...

10,074 60
kirschbaum-development/monitor

Control points for Laravel: declare what a critical operation tolerates, bound i...

1,605 3
leyton/laravel-circuit-breaker

The Laravel implementation for The Circuit breaker pattern

1,503 3
doctrine/dbal

Powerful PHP database abstraction layer (DBAL) with many features for database s...

637,827,751 9,703
laravel/framework

The Laravel Framework.

589,172,971 34,950

Version History

Version Released PHP Laravel License
v1.0.1 >=5.5.9 ^5.0 MIT
v1.0.0 >=5.5.9 ^5.0 MIT