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";
}
}
См. также
- Coroutine::getSuspendFileAndLine — Файл и строка как массив
- Coroutine::getSpawnLocation — Место создания
- Coroutine::getTrace — Полный стек вызовов