Pool::deactivate
(PHP 8.6+, True Async 1.0)
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
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
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
- Pool::activate — Transition vers l’état ACTIVE
- Pool::recover — Transition vers l’état RECOVERING
- Pool::getState — État actuel
- Pool::close — Fermeture permanente du pool (irréversible)