Ограничить ожидание команды и отличить таймаут от пустого ответа
Фактические данные получены через SQLSRV от отдельного SQL Server. Созданные программой учебные таблицы удалены после чтения.
Наблюдаемый результат программы| Наблюдение | Результат |
|---|
| QueryTimeout этой команды, секунд | 1 |
|---|
| Искусственная задержка SQL, секунд | 3 |
|---|
| Команда вернула false | да |
|---|
| Сохранена диагностика таймаута | да |
|---|
| Новый SELECT на том же соединении | ready |
|---|
| Строк после опыта | 1 |
|---|
Строки и дополнительные наблюдения
{
"query_timeout_seconds": 1,
"requested_wait_seconds": 3,
"elapsed_seconds": 1.002,
"saved_timeout_diagnostic": [
{
"SQLSTATE": "HYT00",
"code": 0
}
],
"state_after_timeout": "ready",
"row_count_after_timeout": 1
}
При самостоятельном запуске рядом с example.php создаются result.json с данными и metrics.json с проверками.