gpt4 book ai didi

powershell - Invoke-RestMethod 卡在长时间运行的端点上

转载 作者:行者123 更新时间:2023-12-04 11:31:57 26 4
gpt4 key购买 nike

我们正在使用 Invoke-RestMethod在 PowerShell 脚本中调用 GET具有可变长度运行时的方法端点。有些电话可能会在几秒钟后返回,有些可能需要长达 20 分钟。我们通过 -TimeoutSec 设置了 50 分钟的通话超时时间。范围。
只需几秒钟的调用即可正常返回并输出预期的响应。更长的调用(例如 5 分钟)永远不会返回并且 Invoke-RestMethod尽管我们在 Web 服务器日志中确认服务器早已返回 200 OK,但命令用完了整个 50 分钟的超时时间。 .

try 
{
$Url = "https://example.com/task" # GET
$Timeout = 3000 # 50 minute timout
$Response = Invoke-RestMethod $Url -TimeoutSec $Timeout

Write-Host $Response
}
catch
{
Write-Host $_.Exception
}
端点上没有身份验证。 PowerShell 版本为 7。该脚本在托管被调用的 Web 服务器的同一台机器上运行。
这是 Invoke-RestMethod 的配置问题吗?我们不知道?我们在 Invoke-WebRequest 上遇到了类似的问题使用基本相同的脚本。

最佳答案

我们能够通过添加 -DisableKeepAlive 来解决这个问题。切换到 Invoke-RestMethod命令。似乎 HTTP 保持事件功能阻止了 PowerShell 结束那些长时间运行的调用。

关于powershell - Invoke-RestMethod 卡在长时间运行的端点上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67590941/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com