Pool::activate

(PHP 8.6+, True Async 1.0)

public Pool::activate(): void

Forza la transizione del pool allo stato ACTIVE. Le risorse diventano nuovamente disponibili per l’acquisizione. Utilizzato per la gestione manuale del Circuit Breaker, ad esempio, dopo aver confermato che il servizio si e’ ripreso.

Parametri

Questo metodo non accetta parametri.

Valore di ritorno

Nessun valore restituito.

Esempi

Esempio #1 Attivazione manuale dopo verifica

<?php

use Async\Pool;
use Async\CircuitBreakerState;

$pool = new Pool(
    factory: fn() => new HttpClient('https://api.example.com'),
    max: 5
);

// Supponiamo che il pool sia stato disattivato
if ($pool->getState() === CircuitBreakerState::INACTIVE) {
    // Verifica manuale della disponibilita' del servizio
    if (checkServiceHealth('https://api.example.com/health')) {
        $pool->activate();
        echo "Pool activated\n";
    }
}

Esempio #2 Attivazione tramite segnale esterno

<?php

use Async\Pool;

// Gestore del webhook dal sistema di monitoraggio
function onServiceRestored(Pool $pool): void
{
    $pool->activate();
    echo "Service restored, pool activated\n";
}

Vedi anche