Partager via


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

Voir aussi