Dela via


Bästa praxis för processer för bakgrundsarbetsflöde

Det här avsnittet innehåller metodtips för hur du skapar och hanterar bakgrundsarbetsflödesprocesser.

Undvik oändliga slingor

Det är möjligt att skapa logik i ett bakgrundsarbetsflöde som initierar en oändlig loop som Använder serverresurser och påverkar prestanda. Den typiska situationen där en oändlig loop kan uppstå är om du har ett bakgrundsarbetsflöde som har konfigurerats för att starta när en kolumn uppdateras och som uppdaterar kolumnen i logiken i arbetsflödet. Uppdateringsåtgärden utlöser samma bakgrundsarbetsflöde som uppdaterar raden och startar bakgrundsarbetsflöde om och om igen.

De arbetsflöden som du skapar innehåller logik för att upptäcka eller stoppa en oändlig loop. Om en bakgrundsarbetsflödesprocess körs mer än ett visst antal gånger för en viss rad under en kort tidsperiod visas följande fel för processen: Denna arbetsflödesuppgift avbröts eftersom arbetsflödet som startade den ingår en oändlig loop. Korrigera arbetsflödets logik och försök igen. Antalsbegränsningen är 16.

Använda mallar för bakgrundsarbetsflöden

Om du har arbetsflöden som påminner om varandra och du planerar att skapa flera arbetsflöden som följer samma mönster kan du spara bakgrundsarbetsflödet som en arbetsflödesmall. Detta sätt innebär att nästa gång du behöver skapa en liknande arbetsflödet använd mallen för att skapa bakgrundsarbetsflödet utan att behöva ange villkoren och åtgärderna från början.

I dialogrutan Skapa process, välj Ny process från en befintlig mall (välj i listan).

Använda underordnade arbetsflöden

Om du Använder samma logik i olika arbetsflöden eller villkorliga grenar, definiera den logiken som ett underordnat arbetsflöde så behöver du inte replikera den logiken manuellt i varje bakgrundsarbetsflöde eller villkorlig gren. Detta kan göra det enklare att underhålla arbetsflöden. Istället för att undersöka många arbetsflöden som kan gälla samma logik behöver du bara uppdatera ett arbetsflöde.

Ta automatiskt bort slutförda bakgrundsarbetsflödesjobb

För bakgrundsarbetsflöden (asynkrona) rekommenderar vi att välja alternativet Ta automatiskt bort slutförda arbetsflödesjobb (för att spara diskutrymme) i bakgrundsarbetsflödesdefinitionen. Om du markerar den här kryssrutan kan systemet ta bort loggar för bakgrundsarbetsflöde för lyckade körningar för att spara utrymme. Observera att loggar från misslyckade bakgrundsarbetsflödeskörningar alltid sparas för felsökning.

Bevarande av arbetsflödesuppgift.

Begränsa antalet arbetsflöden som uppdaterar samma tabell

Om du kör mer än ett bakgrundsarbetsflöde som uppdaterar samma tabell kan detta leda till problem med låsta resurser. Föreställ dig flera arbetsflöden där varje uppdatering av affärsmöjligheter utlöser en uppdatering av det associerade kontot. Flera instanser av dessa arbetsflöden som körs och försöker uppdatera samma kontorad samtidigt kan resultera i problem med resurslåsning. Bakgrundsarbetsflödesfel uppstår och ett felmeddelande, till exempel SQL-tidsgräns: Resursen resursnamn kan ej låsas, registreras.

Använd anteckningar för att hålla reda på ändringar

När du redigerar arbetsflöden bör du använda fliken Anteckningar och skriva vad du gjorde och varför du har gjort det. Detta gör att någon annan kan förstå de ändringar du gjort.

Nästa steg

Konfigurera bakgrundsarbetsflödesprocesser
Övervaka och hantera bakgrundsarbetsflödesprocesser