Coroutine::getAwaitingInfo
(PHP 8.6+, True Async 1.0)
public Coroutine::getAwaitingInfo(): array
Returns debug information about what the coroutine is currently awaiting. Useful for diagnosing stuck coroutines.
Return Value
array – an array with awaiting information. An empty array if the information is unavailable.
Examples
Example #1 Diagnosing awaiting state
<?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()} is awaiting:\n";
print_r($info);
}
}
See Also
- Coroutine::isSuspended – Check suspension
- Coroutine::getTrace – Call stack
- Coroutine::getSuspendLocation – Suspension location