Pool::activate

(PHP 8.6+, True Async 1.0)

public Pool::activate(): void

Transiciona forzosamente el pool al estado ACTIVE. Los recursos vuelven a estar disponibles para su adquisición. Se utiliza para la gestión manual del Circuit Breaker, por ejemplo, después de confirmar que el servicio se ha recuperado.

Parámetros

Este método no acepta parámetros.

Valor de retorno

No se devuelve ningún valor.

Ejemplos

Ejemplo #1 Activación manual tras verificación

<?php

use Async\Pool;
use Async\CircuitBreakerState;

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

// Supongamos que el pool fue desactivado
if ($pool->getState() === CircuitBreakerState::INACTIVE) {
    // Verificar manualmente la disponibilidad del servicio
    if (checkServiceHealth('https://api.example.com/health')) {
        $pool->activate();
        echo "Pool activado\n";
    }
}

Ejemplo #2 Activación por señal externa

<?php

use Async\Pool;

// Manejador de webhook del sistema de monitoreo
function onServiceRestored(Pool $pool): void
{
    $pool->activate();
    echo "Servicio restaurado, pool activado\n";
}

Ver también