КомпонентыCoroutine::getAwaitingInfo

Coroutine::getAwaitingInfo ​

(PHP 8.6+, True Async 1.0)

php
public Coroutine::getAwaitingInfo(): array

Возвращает отладочную информацию о том, что корутина ожидает в данный момент. Полезно для диагностики зависших корутин.

Возвращаемое значение ​

array — массив с информацией об ожидании. В текущей сборке расширение его не заполняет, поэтому метод всегда возвращает пустой массив; где остановлена корутина, показывают getSuspendLocation() и getTrace().

Примеры ​

Пример #1 Диагностика ожидания ​

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 "Корутина #{$coro->getId()} ожидает:\n";
        print_r($info);
    }
}

См. также ​