about_Suspend-Workflow
Kort beskrivning
Beskriver Suspend-Workflow
aktiviteten, som pausar arbetsflödet där aktiviteten visas.
Lång beskrivning
Aktiviteten Suspend-Workflow
stoppar tillfälligt arbetsflödesbearbetningen inifrån arbetsflödet. Innan du pausar tar Windows PowerShell-arbetsflödet en kontrollpunkt så att arbetsflödets tillstånd och data bevaras och arbetsflödet kan återupptas från avstängningspunkten.
För att återuppta arbetsflödet använder användaren som kör arbetsflödet cmdleten Resume-Job
. Du kan inte återuppta ett arbetsflöde inifrån arbetsflödet.
Syntax
workflow <Verb-Noun>
{
Suspend-Workflow
}
Detaljerad beskrivning
Tillfälligt Suspend-Workflow
stoppar arbetsflödet och returnerar ett jobbobjekt som representerar arbetsflödesjobbet. Ett jobbobjekt returneras även om du inte körde arbetsflödet som ett jobb. Till exempel genom att använda den vanliga parametern för AsJob-arbetsflödet . Jobbtillståndet är inaktiverat.
Du kan använda jobb-cmdletarna för att hantera det pausade arbetsflödesjobbet. Om du vill återuppta arbetsflödesjobbet använder du cmdleten Resume-Job
.
När du återupptar arbetsflödesjobbet återupptas arbetsflödet med kommandot som följer aktiviteten Suspend-Workflow
.
Följande arbetsflöde innehåller Suspend-Workflow
till exempel aktiviteten.
När du kör arbetsflödet kör den Get-Date
aktiviteten, sparar dess utdata i variabeln $a
och pausar arbetsflödet och returnerar ett jobbobjekt som representerar det inaktiverade arbetsflödet. Jobbtypen är PSWorkflowJob.
Du kan använda jobbets cmdletar, till exempel Get-Job
, för att hantera arbetsflödesjobbet.
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
Återuppta ett arbetsflödesjobb
Om du vill återuppta arbetsflödesjobbet använder du cmdleten Resume-Job
. Cmdleten Resume-Job
returnerar arbetsflödesjobbobjektet omedelbart, även om det kanske inte återupptas ännu. Om du vill vänta tills jobbet återupptas använder du parametern Vänta eller använder cmdleten Get-Job
för att hämta det aktuella jobbobjektet.
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
Hämta utdata från ett arbetsflödesjobb
Använd cmdleten för Receive-Job
att hämta utdata från ett arbetsflödesjobb. Utdata visar att arbetsflödet återupptogs vid kommandot som följde cmdleten Suspend-Workflow
. Värdet för variabeln $a
, som fylldes i före avstängningen, är tillgängligt för arbetsflödet när den återupptas.
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