Coroutine::getAwaitingInfo
(PHP 8.6+, True Async 1.0)
php
public Coroutine::getAwaitingInfo(): arrayGibt Debug-Informationen darueber zurueck, worauf die Coroutine gerade wartet. Nuetzlich fuer die Diagnose blockierter Coroutinen.
Rueckgabewert
array -- ein Array mit Warteinformationen. Ein leeres Array, wenn die Informationen nicht verfuegbar sind.
Beispiele
Beispiel #1 Wartezustand diagnostizieren
php
<?php
use function Async\spawn;
use function Async\suspend;
use function Async\get_coroutines;
spawn(function() {
Async\delay(5000);
});
suspend();
foreach (get_coroutines() as $coro) {
if ($coro->isSuspended()) {
$info = $coro->getAwaitingInfo();
echo "Coroutine #{$coro->getId()} wartet auf:\n";
print_r($info);
}
}Siehe auch
- Coroutine::isSuspended -- Unterbrechung pruefen
- Coroutine::getTrace -- Aufrufstapel
- Coroutine::getSuspendLocation -- Unterbrechungsort