solution10/

circuitbreaker

使用Doctrine\Cache持久化状态的简单断路器类

v1.2.0 2016-08-25 13:20 UTC

This package is not auto-updated.

Last update: 2024-09-12 01:45:16 UTC


README

简单的断路器类。

Build Status Latest Stable Version Total Downloads License

特性

  • 可调节阈值
  • 可调节冷却时间
  • 状态变化事件
  • 任何Doctine\Common\Cache\Cache实现可用于持久化

安装

安装通过composer进行,与常规方法相同

$ composer require solution10/circuitbreaker

示例用法

<?php

$persistence = new \Doctrine\Common\Cache\ArrayCache();
$breaker = new \Solution10\CircuitBreaker\CircuitBreaker('my_backend_service', $persistence);

if ($breaker->isClosed()) {
    $response = doSomething();
    if ($response) {
        $breaker->success();
    } else {
        $breaker->failure();
    }
} else {
    gracefullyDegrade();
}

用户指南

查看Wiki

(或仓库中的/docs文件夹)

PHP需求

  • PHP >= 5.5

作者

Alex Gisby: GitHub, Twitter

许可证

MIT

贡献

贡献者说明