PowerShell: параллельная обработка нескольких сообщений API - PullRequest
0 голосов
/ 24 мая 2018

Первый сценарий PowerShell, который я написал (удалил некоторые детали из кода - но он работает просто отлично).Я разделяю файл CSV на 30 МБ.Мне было интересно, как я мог ускорить посты (в настоящее время это постинг последовательно - и я бы хотел, чтобы это было параллельно).Есть идеи?

# Iterates through each 30MB (or less) batch of rows - how can I speed this up?
for ($i=0; $i -lt $NumJobs; $i++)
{
    [int]$StartRow = ($i * $JobRows)
    [int]$EndRow=(($i+1) * $JobRows - 1)
    write-host ("Rows {0} to {1}" -f $StartRow.ToString(),$EndRow.ToString())

    $CSVRows = $csv[$StartRow..$EndRow]
    $json = ($CSVRows | ConvertTo-Json -Compress)


        # Create API authorization signature
        Function Build-Signature (some params)
        {
            ...
        }


        # Create Post Request
        Function Post-Data(some params)
        {
            ...
        }

        # Post this chunk of JSON to API endpoint
        Post- ... JSON chunk 

}

1 Ответ

0 голосов
/ 24 мая 2018

Попробуйте использовать модули параллельной обработки.Например:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...