Pool::activate

(PHP 8.6+, True Async 1.0)

public Pool::activate(): void

Примусово переводить пул у стан ACTIVE. Ресурси знову стають доступними для отримання. Використовується для ручного керування Circuit Breaker, наприклад, після підтвердження відновлення роботи сервісу.

Параметри

Цей метод не приймає параметрів.

Значення, що повертається

Значення не повертається.

Приклади

Приклад #1 Ручна активація після перевірки

<?php

use Async\Pool;
use Async\CircuitBreakerState;

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

// Suppose the pool was deactivated
if ($pool->getState() === CircuitBreakerState::INACTIVE) {
    // Manually check service availability
    if (checkServiceHealth('https://api.example.com/health')) {
        $pool->activate();
        echo "Pool activated\n";
    }
}

Приклад #2 Активація за зовнішнім сигналом

<?php

use Async\Pool;

// Webhook handler from the monitoring system
function onServiceRestored(Pool $pool): void
{
    $pool->activate();
    echo "Service restored, pool activated\n";
}

Дивіться також