Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
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