Dela via


about_Checkpoint-Workflow

KORT BESKRIVNING

Beskriver aktiviteten Checkpoint-Workflow, som tar en kontrollpunkt i ett arbetsflöde.

LÅNG BESKRIVNING

Aktiviteten Checkpoint-Workflow tar en kontrollpunkt som sparar tillstånd och data i arbetsflödet. Om arbetsflödet pausas eller avbryts kan det återupptas från den senaste kontrollpunkten i stället för att behöva startas om.

Aktiviteten Checkpoint-Workflow är endast giltig i ett arbetsflöde.

SYNTAX

Workflow <Verb-Noun>
{
    Checkpoint-Workflow
}

Aktiviteten Checkpoint-Workflow accepterar inga parametrar, inklusive vanliga parametrar och vanliga arbetsflödesparametrar.

Du kan placera kontrollpunkten Checkpoint-Activity var som helst i ett arbetsflöde efter CmdletBinding- eller Param-instruktionen. När du placerar kontrollpunkter bör du dock tänka på prestandakostnaden för att samla in data och skriva dem till disken på den dator som kör arbetsflödet.

Se till att den tid det tar att köra ett avsnitt i arbetsflödet igen om det avbryts är större än den tid det tar att skriva kontrollpunktstillståndet och data till disken.

Överväg att ta kontrollpunkter efter kritiska steg så att arbetsflödet kan återupptas i stället för att startas om. Ta till exempel en kontrollpunkt efter kommandon som inte är idempotenter.

OM KONTROLLPUNKTER

En kontrollpunkt är en ögonblicksbild av arbetsflödets aktuella tillstånd, inklusive aktuella värden för variabler och eventuella utdata som genererats fram till den punkten, och den sparas på disken.

Om ett arbetsflöde avbryts, avsiktligt eller oavsiktligt, använder Windows PowerShell Workflow automatiskt data i den senaste kontrollpunkten för att återställa och återuppta arbetsflödet.

När du kör arbetsflödet som ett jobb, till exempel med hjälp av den vanliga parametern för AsJob-arbetsflödet, behålls kontrollpunkterna för arbetsflödet tills du tar bort jobbet, till exempel genom att använda cmdleten Remove-Job. Annars tas kontrollpunkter för arbetsflödet bort när arbetsflödet är klart.

ANDRA KONTROLLPUNKTSTEKNIKER

Förutom aktiviteten Checkpoint-Workflow stöder Windows PowerShell Workflow andra kontrollpunktstekniker, inklusive följande:

  • Gemensam pspersist-arbetsflödesparameter
  • Gemensam PSPersist-aktivitetsparameter
  • PSPersistPreference-variabel (i ett arbetsflöde)

Mer information om hur du lägger till en kontrollpunkt i ett arbetsflöde finns i "Lägga till kontrollpunkter i ett arbetsflöde".

Exempel

Följande arbetsflöde innehåller ett anrop till aktiviteten Checkpoint-Workflow när du har slutfört en långvarig funktion och ett skript som delar data.

Workflow Test-Workflow
{
    $a = Invoke-LongRunningFunction
    InlineScript { \\Server\Share\Get-DataPacks.ps1 $Using:a}
    Checkpoint-Workflow

    Invoke-LongRunningFunction
    {
        ...
    }
}

Se även