about_Suspend arbetsflöde

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 Workflow 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 AsJob-arbetsflöde . Jobbtillståndet är inaktiverat.

Du kan använda jobb-cmdletar för att hantera det inaktiverade 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örs Get-Date aktiviteten, dess utdata sparas i variabeln $a och arbetsflödet pausas och ett jobbobjekt som representerar det inaktiverade arbetsflödet returneras. 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 har återupptagits 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 med 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

Se även