Нужен цикл выполнения части скрипта путем увеличения значения одного параметра - PullRequest
0 голосов
/ 12 декабря 2018

У меня есть эта часть сценария, в которой я пытаюсь запустить несколько анализов, используя API нашего приложения через Microsoft HPC для запуска различных типов заданий, таких как Job503, Job504 .... до Job513.

Имея только 2 сервера анализа для выполнения заданий, одновременно можно запустить только 2 задания, и в очереди может быть до 10 заданий, включая два запущенных.Таким образом, ниже Job503 - это 2 задания, а до Job507 - 10.

Вместо того, чтобы писать длинный сценарий, я хочу создать фактор увеличения, где в первом пакете я могу нажать на job503 - job507, затем сценарий будет ожидать, пока $ MetricValue -eq 0 (проверяется циклом Ad-PSSnapin и while), затем сценарию необходимо отправить следующий набор из 10 заданий, которое job508 - job513.Значение, которое мы увеличиваем, равно DLMProfileID , а также значение параметра -ObjectId должно быть 4 и 5 соответственно для набора из 2 заданий, как показано в сценарии.

 Add-PSSnapin Microsoft.HPC
 Set-Content Env:CCP_SCHEDULER $Clustername

 While ($MetricValue -ne 0)
    {
        Sleep -Seconds 60
        $MetricValue = Invoke-Command -ComputerName $Clustername -ScriptBlock {
        Add-PSSnapin Microsoft.HPC;
        $Value = (Get-HPCMetricValue -Name "HPCJobsRunning" | where {$_.nodename -match "HN*" }).Value
        $Value
        }
        write-host $MetricValue
    }

#Job503
$retcn01 = Invoke-DlmApiDlmInitiateDLMAnalyse  { New-DlmAnalysisCommand -Edm "Test_EDM" -ObjectId 4 -DlmProfileId 503 }
Write-Output $retcn01
$retcn01 = Invoke-DlmApiDlmInitiateDLMAnalyse  { New-DlmAnalysisCommand -Edm "Test_EDM" -ObjectId 5 -DlmProfileId 503 }
Write-Output $retcn02

#Job504
$retcn01 = Invoke-DlmApiDlmInitiateDLMAnalyse  { New-DlmAnalysisCommand -Edm "Test_EDM" -ObjectId 4 -DlmProfileId 504 }
Write-Output $retcn01
$retcn01 = Invoke-DlmApiDlmInitiateDLMAnalyse  { New-DlmAnalysisCommand -Edm "Test_EDM" -ObjectId 5 -DlmProfileId 504 }
Write-Output $retcn02
...