我将端点列表作为脚本的参数,我想向所有端点发送 http 请求,但我不想按顺序进行,而是同时进行。我发现有类似并行 foreach 的东西,但是我无法访问args
那里。
$errors = @()
workflow a {
foreach -Parallel ($endpoint in $args) {
$HTTP_Request = [System.Net.WebRequest]::Create($endpoint)
try {
$HTTP_Response = $HTTP_Request.GetResponse()
$HTTP_Status = [int]$HTTP_Response.StatusCode
if ($HTTP_Status -eq 200) {
Write-Host "OK"
}
} catch {
$errors += $endpoint + ": " + $_.Exception.Message
}
}
}
问题:如何以并行模式发送这个 HTTP 请求?