about_Suspend-Workflow
Description courte
Décrit l’activité Suspend-Workflow
, qui suspend le flux de travail dans lequel l’activité s’affiche.
Description longue
L’activité Suspend-Workflow
arrête temporairement le traitement du flux de travail à partir du flux de travail. Avant de suspendre, le flux de travail Windows PowerShell prend un point de contrôle afin que l’état et les données du flux de travail soient conservés et que le flux de travail puisse reprendre à partir du point de suspension.
Pour reprendre le flux de travail, l’utilisateur exécutant le flux de travail utilise l’applet Resume-Job
de commande. Vous ne pouvez pas reprendre un flux de travail à partir du flux de travail.
Syntaxe
workflow <Verb-Noun>
{
Suspend-Workflow
}
Description détaillée
Le Suspend-Workflow
workflow est temporairement arrêté et retourne un objet de travail qui représente le travail de flux de travail. Un objet de travail est retourné même si vous n’avez pas exécuté le flux de travail en tant que travail. Par exemple, par exemple, à l’aide du paramètre commun du flux de travail AsJob . L’état du travail est suspendu.
Vous pouvez utiliser les applets de commande de travail pour gérer le travail de workflow suspendu. Pour reprendre le travail de flux de travail, utilisez l’applet Resume-Job
de commande.
Lorsque vous reprenez le travail de flux de travail, le flux de travail reprend à la commande qui suit l’activité Suspend-Workflow
.
Par exemple, le flux de travail suivant inclut l’activité Suspend-Workflow
.
Lorsque vous exécutez le flux de travail, il exécute l’activité Get-Date
, enregistre sa sortie dans la $a
variable, puis suspend le flux de travail et retourne un objet de travail qui représente le flux de travail suspendu. Le type de travail est PSWorkflowJob.
Vous pouvez utiliser les applets de commande de travail, telles que Get-Job
, pour gérer le travail de flux de travail.
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
Reprise d’un travail de flux de travail
Pour reprendre le travail de flux de travail, utilisez l’applet Resume-Job
de commande. L’applet Resume-Job
de commande retourne immédiatement l’objet de travail de flux de travail, même s’il n’est peut-être pas encore repris. Pour attendre la reprise du travail, utilisez le paramètre Wait ou utilisez l’applet Get-Job
de commande pour obtenir l’objet de travail actuel.
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
Obtention de la sortie d’un travail de flux de travail
Pour obtenir la sortie d’un travail de flux de travail, utilisez l’applet Receive-Job
de commande. La sortie indique que le flux de travail a repris à la commande qui a suivi l’applet de Suspend-Workflow
commande. La valeur de la $a
variable, qui a été remplie avant la suspension, est disponible pour le flux de travail lorsqu’elle reprend.
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