about_Suspend-Workflow

Krótki opis

Suspend-Workflow Opisuje działanie, które zawiesza przepływ pracy, w którym pojawia się działanie.

Długi opis

Działanie Suspend-Workflow tymczasowo zatrzymuje przetwarzanie przepływu pracy z poziomu przepływu pracy. Przed wstrzymaniem przepływ pracy programu Windows PowerShell przyjmuje punkt kontrolny, dzięki czemu stan i dane przepływu pracy są zachowywane, a przepływ pracy może wznawiać działanie z punktu zawieszenia.

Aby wznowić przepływ pracy, użytkownik, który uruchamia przepływ pracy, używa Resume-Job polecenia cmdlet . Nie można wznowić przepływu pracy z poziomu przepływu pracy.

Składnia

workflow <Verb-Noun>
{
    Suspend-Workflow
}

Szczegółowy opis

Tymczasowo Suspend-Workflow zatrzymuje przepływ pracy i zwraca obiekt zadania, który reprezentuje zadanie przepływu pracy. Obiekt zadania jest zwracany, nawet jeśli przepływ pracy nie został uruchomiony jako zadanie. Na przykład przy użyciu wspólnego parametru przepływu pracy asjob . Stan zadania jest zawieszony.

Polecenia cmdlet zadania umożliwiają zarządzanie zawieszonym zadaniem przepływu pracy. Aby wznowić zadanie przepływu pracy, użyj Resume-Job polecenia cmdlet .

Po wznowieniu zadania przepływu pracy przepływ pracy zostanie wznowione przy użyciu polecenia, które następuje Suspend-Workflow po działaniu.

Na przykład poniższy przepływ pracy zawiera Suspend-Workflow działanie. Po uruchomieniu przepływu pracy uruchamia Get-Date ono działanie, zapisuje jego dane wyjściowe w $a zmiennej, a następnie zawiesza przepływ pracy i zwraca obiekt zadania reprezentujący zawieszony przepływ pracy. Typ zadania to PSWorkflowJob.

Polecenia cmdlet zadania, takie jak Get-Job, umożliwiają zarządzanie zadaniem przepływu pracy.

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

Wznawianie zadania przepływu pracy

Aby wznowić zadanie przepływu pracy, użyj Resume-Job polecenia cmdlet . Polecenie Resume-Job cmdlet natychmiast zwraca obiekt zadania przepływu pracy, mimo że może jeszcze nie zostać wznowione. Aby poczekać na wznowienie zadania, użyj parametru Wait lub użyj Get-Job polecenia cmdlet , aby uzyskać bieżący obiekt zadania.

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

Pobieranie danych wyjściowych zadania przepływu pracy

Aby uzyskać dane wyjściowe zadania przepływu pracy, użyj Receive-Job polecenia cmdlet . Dane wyjściowe pokazują, że przepływ pracy został wznowiony przy użyciu polecenia cmdlet, które było zgodne z poleceniem Suspend-Workflow cmdlet. Wartość zmiennej $a , która została wypełniona przed zawieszeniem, jest dostępna dla przepływu pracy po wznowieniu.

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

Zobacz też