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