PowerShell Invoke-RestMethod Timeout - PullRequest
       2

PowerShell Invoke-RestMethod Timeout

0 голосов
/ 13 декабря 2018

Я проверяю несколько служб (ок. 15), если они доступны через команду PowerShell.Если служба доступна, время выполнения скрипта хорошо, но если какая-то служба недоступна, время выполнения скрипта не хорошо!Так как же определить, что Invoke-RestMethod имеет определенное время для запроса / ответа?Я знаю, что есть параметр -TimeoutSec.Например, если я не получаю ответ через 4 секунды, переведите запрос в тайм-аут и выведите ошибку!

Invoke-RestMethod $uri -TimeoutSec

Возможно, я неправильно понял параметр -TimeoutSec?

1 Ответ

0 голосов
/ 13 декабря 2018

Согласно справке:

> get-help Invoke-RestMethod -Parameter Timeoutsec

-TimeoutSec <Int32>
    Specifies how long the request can be pending before it times out. Enter a value in seconds. The default value, 0, specifies an indefinite time-out.

Поэтому параметру необходимо целое число, чтобы указать, сколько времени должно быть до тайм-аута.

Invoke-RestMethod $uri -TimeoutSec 4

Обратите внимание на предостережение, которое также находится впомощь:

A Domain Name System (DNS) query can take up to 15 seconds to return or time out. If your request contains a host name that requires resolution, and you set TimeoutSec to a value greater than zero, but less than 15 seconds, it can take 15 
seconds or more before a WebException is thrown, and your request times out.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...