PHPackages                             nullodyssey/circuit-breaker - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. nullodyssey/circuit-breaker

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

nullodyssey/circuit-breaker
===========================

PHP Circuit Breaker implementation

v0.0.1(10mo ago)01MITPHP

Since Jul 8Pushed 10mo agoCompare

[ Source](https://github.com/nullodyssey/circuit-breaker)[ Packagist](https://packagist.org/packages/nullodyssey/circuit-breaker)[ RSS](/packages/nullodyssey-circuit-breaker/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependencies (7)Versions (2)Used By (0)

Circuit Breaker Pattern Implementation for PHP
==============================================

[](#circuit-breaker-pattern-implementation-for-php)

[![License: MIT](https://camo.githubusercontent.com/fdf2982b9f5d7489dcf44570e714e3a15fce6253e0cc6b5aa61a075aac2ff71b/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c6963656e73652d4d49542d79656c6c6f772e737667)](https://opensource.org/licenses/MIT)[![PHP Version](https://camo.githubusercontent.com/6b84e9311750c972da98b6d521269a76c32b8928b672000d4a8c5dd7ac866d09/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5048502d253345253344382e312d626c75652e737667)](https://www.php.net/)

A robust and feature-rich implementation of the Circuit Breaker pattern for PHP applications. This library helps prevent cascading failures by monitoring service calls and automatically switching between three states: **Closed**, **Open**, and **Half-Open**.

📋 Table of Contents
-------------------

[](#-table-of-contents)

- [Features](#-features)
- [Installation](#-installation)
- [Quick Start](#-quick-start)
    - [Basic Usage](#basic-usage)
    - [Using the Factory Pattern](#using-the-factory-pattern)
    - [Multi-Worker/Distributed Setup](#multi-workerdistributed-setup)
- [Configuration](#-configuration)
    - [Circuit Breaker Parameters](#circuit-breaker-parameters)
    - [State Store Interface](#state-store-interface)
- [Symfony Integration](#-symfony-integration)
    - [Redis State Store](#redis-state-store)
    - [Service Configuration](#service-configuration)
    - [Usage in Controllers](#usage-in-controllers)
- [Circuit Breaker States](#-circuit-breaker-states)
- [State Transitions](#-state-transitions)
- [Monitoring &amp; Metrics](#-monitoring--metrics)
- [Architecture](#-architecture)
- [Thread Safety](#-thread-safety)
- [Roadmap &amp; Future Features](#-roadmap)
- [Contributing](#-contributing)
- [License](#-license)
- [Further Reading](#-further-reading)

🚀 Features
----------

[](#-features)

- **Three-State Circuit Breaker**: Implements the classic Closed → Open → Half-Open → Closed cycle
- **Multi-Worker Support**: Persistent state storage for distributed environments
- **Thread Safety**: Built-in locking mechanisms for concurrent access
- **Flexible Configuration**: Customizable failure thresholds, timeouts, and recovery settings
- **Factory Pattern**: Centralized management of multiple circuit breakers
- **Type Safety**: Full PHP 8.1+ type declarations and PHPStan level 8 compliance
- **Zero Dependencies**: No external runtime dependencies

📦 Installation
--------------

[](#-installation)

```
git clone git@github.com:nullodyssey/circuit-breaker.git
```

🎯 Quick Start
-------------

[](#-quick-start)

### Basic Usage

[](#basic-usage)

```
