我有一个URL的查询发生更改。查询存储在一个数组中,所以更改URL并不是循环中的问题(我对任何特定查询都不感兴趣)。在PowerShell中使用多线程一次调用多个URL
我很难为每个URL创建作业并同时启动一组作业并监视它们。
我开始一次遍历查询数组5,我会调用5个新的URL,因此每个迭代需要有一个作业数组,其元素是该迭代的URL。
我的方法正确吗?任何指针将不胜感激!
这是示例代码来演示我的方法:
$queries = 1..10
$jobs = @()
foreach ($i in $queries) {
if ($jobs.Count -lt 5) {
$ScriptBlock = {
$query = $queries[$i]
$path = "http://mywebsite.com/$query"
Invoke-WebRequest -Uri $path
}
$jobs += Start-Job -ScriptBlock $ScriptBlock
} else {
$jobs | Wait-Job -Any
}
}
请分享您的代码。 – Neolisk