Как снова вызвать функцию внутри функции в PowerShell

Я пытаюсь реализовать функцию объединения для операции перемещения данных в динамическом 365. У меня есть сценарий PowerShell, в котором есть функция под названием Test(pera1,pera2,pera3..), когда мы вызываем эту функцию, для завершения мероприятие. Теперь мне нужно вызвать другую задачу на основе этого результата функции Test(). Если мое условие совпадает, то вызовет другую задачу, в противном случае я должен поставить Start-Sleep -Seconds 3600, чтобы завершить событие.

      function EnvOperationPooling($pera1, $pera2, $pera3)
{
 // here API call code 
// API result
if($apiResponse.DeploymentState-eq 'Inprogress')
{
  Start-Sleep -Seconds 3600
  EnvOperationPooling -proj1 $pera1 -proj2 $pera2 -proj2 $pera2
 Write-Host "##vso[task.setvariable variable=DeploymentState;isOutput=true]$($apiResponse.DeploymentState)"
}
else
{
 Write-Host "##vso[task.setvariable variable=DeploymentState;isOutput=true]$($apiResponse.DeploymentState)"
}

}

как я могу сделать рекурсивным любое предложение, чтобы сделать код лучше ..?

1 ответ

Для рекурсивной работы и экономии времени вашего процесса вам необходимо использовать фоновые задания PowerShell.

если вы запускаете фоновое задание, командная строка возвращается немедленно, даже если для выполнения задания требуется много времени. Вы можете продолжить работу в сеансе без перерыва во время выполнения задания. Ссылаться

      Start-Job -ScriptBlock {Get-Process}

См. Подробнее здесь

Другие вопросы по тегам