Pool::idleCount

(PHP 8.6+, True Async 1.0)

public Pool::idleCount(): int

Restituisce il numero di risorse inattive (non utilizzate) pronte per essere acquisite.

Parametri

Questo metodo non accetta parametri.

Valore di ritorno

Il numero di risorse inattive nel pool.

Esempi

Esempio #1 Tracciamento delle risorse inattive

<?php

use Async\Pool;

$pool = new Pool(
    factory: fn() => new PDO('mysql:host=localhost;dbname=app', 'user', 'pass'),
    min: 3,
    max: 10
);

echo $pool->idleCount() . "\n"; // 3

$conn = $pool->acquire();
echo $pool->idleCount() . "\n"; // 2

$pool->release($conn);
echo $pool->idleCount() . "\n"; // 3

Esempio #2 Strategia adattiva

<?php

use Async\Pool;

$pool = new Pool(
    factory: fn() => createExpensiveResource(),
    min: 1,
    max: 20
);

// Se rimangono poche risorse inattive — riduci il carico
if ($pool->idleCount() < 2 && $pool->count() >= 18) {
    echo "Warning: pool is nearly exhausted\n";
}

Vedi anche