Coroutine::getSuspendLocation

(PHP 8.6+, True Async 1.0)

public Coroutine::getSuspendLocation(): string

Возвращает место приостановки корутины в формате "файл:строка". Если информация недоступна, возвращает "unknown".

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

string — строка вида "/app/script.php:42" или "unknown".

Примеры

Пример #1 Диагностика зависшей корутины

<?php

use function Async\spawn;
use function Async\suspend;
use function Async\get_coroutines;

spawn(function() {
    file_get_contents('https://slow-api.example.com'); // зависает здесь
});

suspend();

foreach (get_coroutines() as $coro) {
    if ($coro->isSuspended()) {
        echo "Корутина #{$coro->getId()} ожидает в: {$coro->getSuspendLocation()}\n";
    }
}

См. также