about_Suspend-Workflow
Krátký popis
Popisuje Suspend-Workflow
aktivitu, která pozastaví pracovní postup, ve kterém se aktivita zobrazuje.
Dlouhý popis
Aktivita Suspend-Workflow
dočasně zastaví zpracování pracovního postupu v rámci pracovního postupu. Před pozastavením pracovní postup Windows PowerShellu převezme kontrolní bod, aby se zachoval stav pracovního postupu a data a pracovní postup může pokračovat z bodu pozastavení.
Pokud chcete pracovní postup obnovit, uživatel, který pracovní postup spouští, použije rutinu Resume-Job
. Pracovní postup nelze obnovit z pracovního postupu.
Syntaxe
workflow <Verb-Noun>
{
Suspend-Workflow
}
Podrobný popis
Dočasně Suspend-Workflow
zastaví pracovní postup a vrátí objekt úlohy, který představuje úlohu pracovního postupu. Objekt úlohy se vrátí, i když jste pracovní postup nespusili jako úlohu. Například pomocí společného parametru pracovního postupu AsJob . Stav úlohy je pozastavený.
Pomocí rutin úloh můžete spravovat pozastavenou úlohu pracovního postupu. Pokud chcete obnovit úlohu pracovního postupu, použijte rutinu Resume-Job
.
Když obnovíte úlohu pracovního postupu, pracovní postup se obnoví v příkazu, který následuje za aktivitou Suspend-Workflow
.
Například následující pracovní postup obsahuje Suspend-Workflow
aktivitu.
Když pracovní postup spustíte, spustí Get-Date
aktivitu, uloží její výstup do $a
proměnné a pak pracovní postup pozastaví a vrátí objekt úlohy, který představuje pozastavený pracovní postup. Typ úlohy je PSWorkflowJob.
Ke správě úlohy můžete použít rutiny úlohy, například 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
Obnovení úlohy pracovního postupu
Pokud chcete obnovit úlohu pracovního postupu, použijte rutinu Resume-Job
. Rutina Resume-Job
vrátí objekt úlohy pracovního postupu okamžitě, i když ještě nemusí být obnoven. Pokud chcete počkat na obnovení úlohy, použijte parametr Wait nebo použijte rutinu Get-Job
k získání aktuálního objektu úlohy.
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
Získání výstupu úlohy pracovního postupu
Pokud chcete získat výstup úlohy pracovního postupu, použijte rutinu Receive-Job
. Výstup ukazuje, že pracovní postup pokračoval v příkazu, který postupoval za rutinou Suspend-Workflow
. Hodnota $a
proměnné, která byla vyplněna před pozastavením, je k dispozici pracovnímu postupu při jeho obnovení.
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