Как я могу вызвать много URL из списка асинхронно

У меня есть несколько сотен тысяч URL-адресов, по которым мне нужно позвонить. Это вызовы сервера приложений, которые будут обрабатывать их и записывать код состояния в таблицу. Мне не нужно ждать ответа (успех / неудача), только чтобы сервер получил запрос. Я также хочу иметь возможность указать, сколько одновременных заданий может выполняться одновременно, так как я не определил, сколько одновременных запросов может обработать tomcat.

Вот что я получил до сих пор, в основном взяты из чужой попытки сделать что-то подобное, только не с помощью URL-вызовов. Текстовый файл содержит каждый URL в отдельной строке. URL выглядит так:

http://webserver:8080/app/mwo/services/create?server=ServerName&e1user=admin&newMWONum=123456&sourceMWONum=0&tagNum=33-A-1B

И код:

$maxConcurrentJobs = 10
$content = Get-Content -Path "C:\Temp\urls.txt"

foreach ($url in $content) {
    $running = @(Get-Job | Where-Object { $_.State -eq 'Running' })
    if ($running.Count -le $maxConcurrentJobs) {
        Start-Job {
             Invoke-WebRequest -UseBasicParsing -Uri $using:url
        }
    } else {
         $running | Wait-Job -Any
    }
    Get-Job | Receive-Job
}

Проблемы, с которыми я сталкиваюсь, состоят в том, что они дают 2 ошибки за «работу», и я не знаю почему. Когда я выкидываю массив содержимого $ url, он выглядит нормально, и когда я запускаю мой Invoke-WebRequest один за другим, они работают без ошибок.

126    Job126          BackgroundJob   Running       True            localhost            ...                
Invalid URI: The hostname could not be parsed.
    + CategoryInfo          : NotSpecified: (:) [Invoke-RestMethod], UriFormatException
    + FullyQualifiedErrorId : System.UriFormatException,Microsoft.PowerShell.Commands.InvokeRestMethodComman 
   d
    + PSComputerName        : localhost

Invalid URI: The hostname could not be parsed.
    + CategoryInfo          : NotSpecified: (:) [Invoke-RestMethod], UriFormatException
    + FullyQualifiedErrorId : System.UriFormatException,Microsoft.PowerShell.Commands.InvokeRestMethodComman 
   d
    + PSComputerName        : localhost

Любая помощь или альтернативные реализации будут оценены. Я открыт для того, чтобы не использовать powershell, но я ограничен рабочими столами Windows 7 или серверами Windows 2008 R2, и я, вероятно, запустил бы окончательный сценарий на самом сервере, используя localhost в URL, чтобы сократить сетевые задержки.

Ответы на вопрос(2)

Ваш ответ на вопрос