ComposantsPool::deactivate

Pool::deactivate ​

(PHP 8.6+, True Async 1.0)

php
public Pool::deactivate(): void

Force la transition du pool vers l'état INACTIVE. Dans cet état, le pool rejette toutes les demandes d'acquisition de ressources. Utilisé pour la désactivation manuelle lorsque des problèmes avec un service externe sont détectés.

Contrairement à close(), la désactivation est réversible --- le pool peut être remis en état de fonctionnement via activate() ou recover().

Paramètres ​

Cette méthode ne prend aucun paramètre.

Valeur de retour ​

Aucune valeur n'est retournée.

Exemples ​

Exemple #1 Désactivation lors de la détection d'un problème ​

php
<?php

use Async\Pool;

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

// Upon detecting a critical error
try {
    $client = $pool->acquire();
    $response = $client->get('/critical-endpoint');
    $pool->release($client);
} catch (ServiceUnavailableException $e) {
    $pool->deactivate();
    echo "Service unavailable, pool deactivated\n";
}

Exemple #2 Maintenance planifiée ​

php
<?php

use Async\Pool;

function startMaintenance(Pool $pool): void
{
    $pool->deactivate();
    echo "Pool deactivated for maintenance\n";
}

function endMaintenance(Pool $pool): void
{
    $pool->activate();
    echo "Maintenance complete, pool activated\n";
}

Voir aussi ​