다음을 통해 공유


about_Suspend 워크플로

간단한 설명

Suspend-Workflow 활동이 표시되는 워크플로를 일시 중단하는 활동을 설명합니다.

자세한 설명

활동은 Suspend-Workflow 워크플로 내에서 워크플로 처리를 일시적으로 중지합니다. 일시 중단하기 전에 Windows PowerShell 워크플로는 검사점을 사용하여 워크플로의 상태와 데이터가 유지되고 워크플로가 일시 중단 지점에서 다시 시작될 수 있도록 합니다.

워크플로를 다시 시작하려면 워크플로를 실행하는 사용자가 cmdlet을 Resume-Job 사용합니다. 워크플로 내에서 워크플로를 다시 시작할 수 없습니다.

구문

workflow <Verb-Noun>
{
    Suspend-Workflow
}

자세한 설명

워크플로를 Suspend-Workflow 일시적으로 중지하고 워크플로 작업을 나타내는 작업 개체를 반환합니다. 워크플로를 작업으로 실행하지 않은 경우에도 작업 개체가 반환됩니다. 예를 들어 AsJob 워크플로 공통 매개 변수를 사용하는 것과 같습니다. 작업 상태가 일시 중단되었습니다.

작업 cmdlet을 사용하여 일시 중단된 워크플로 작업을 관리할 수 있습니다. 워크플로 작업을 다시 시작하려면 cmdlet을 Resume-Job 사용합니다.

워크플로 작업을 다시 시작하면 작업 뒤에 있는 명령에서 워크플로가 Suspend-Workflow 다시 시작됩니다.

예를 들어 다음 워크플로에는 활동이 포함됩니다 Suspend-Workflow . 워크플로를 실행하면 작업을 실행하고 Get-Date , 해당 출력을 변수에 $a 저장한 다음, 워크플로를 일시 중단하고, 일시 중단된 워크플로를 나타내는 작업 개체를 반환합니다. 작업 유형이 PSWorkflowJob입니다.

작업 cmdlet(예: Get-Job)을 사용하여 워크플로 작업을 관리할 수 있습니다.

Workflow Test-Suspend
{
    $a = Get-Date
    Suspend-Workflow
    (Get-Date)- $a
}

Test-Suspend
Id  Name  PSJobTypeName  State      HasMoreData  Location  Command
--  ----  -------------  -----      -----------  --------  -------
8   Job8  PSWorkflowJob  Suspended  True         localhost Test-Suspend

워크플로 작업 재개

워크플로 작업을 다시 시작하려면 cmdlet을 Resume-Job 사용합니다. cmdlet은 Resume-Job 아직 다시 시작되지 않더라도 워크플로 작업 개체를 즉시 반환합니다. 작업이 다시 시작될 때까지 기다리려면 Wait 매개 변수를 사용하거나 cmdlet을 사용하여 Get-Job 현재 작업 개체를 가져옵니다.

Resume-Job -Name Job8
Id  Name  PSJobTypeName  State    HasMoreData  Location  Command
--  ----  -------------  -----    -----------  --------  -------
8   Job8  PSWorkflowJob  Running  True         localhost Test-Suspend
Get-Job -Name Job8
Id  Name  PSJobTypeName  State      HasMoreData  Location  Command
--  ----  -------------  -----      -----------  --------  -------
8   Job8  PSWorkflowJob  Completed  True         localhost Test-Suspend

워크플로 작업의 출력 가져오기

워크플로 작업의 출력을 얻으려면 cmdlet을 Receive-Job 사용합니다. 출력은 cmdlet 뒤에 있는 명령에서 워크플로가 다시 시작되었음을 Suspend-Workflow 보여줍니다. 일시 중단 전에 채워진 변수의 $a 값은 다시 시작될 때 워크플로에서 사용할 수 있습니다.

Get-Job -Name Job8 | Receive-Job
Days              : 0
Hours             : 0
Minutes           : 0
Seconds           : 19
Milliseconds      : 823
Ticks             : 198230041
TotalDays         : 0.000229432917824074
TotalHours        : 0.00550639002777778
TotalMinutes      : 0.330383401666667
TotalSeconds      : 19.8230041
TotalMilliseconds : 19823.0041
PSComputerName    : localhost

참고 항목