Anbefalte fremgangsmåter for bakgrunnsarbeidsflytprosesser

Dette emnet inneholder anbefalte fremgangsmåter for å lage og administrere bakgrunnsarbeidsflytprosesser.

Unngå uendelige løkker

Du kan lage logikk i en bakgrunnsarbeidsflyt som starter en uendelig løkke som bruker serverressurser og påvirker ytelsen. En vanlig situasjon der en uendelig løkke kan oppstå, er når du har en bakgrunnsarbeidsflyt som er konfigurert slik at den starter når en kolonne oppdateres, og deretter oppdaterer denne kolonnen i logikken i arbeidsflyten. Oppdateringshandlingen utløser den samme bakgrunnsarbeidsflyten som oppdaterer raden, og utløser bakgrunnsarbeidsflyten på nytt og på nytt.

Arbeidsflyter som du oppretter inkluderer logikk som oppdager og stopper uendelige løkker. Hvis en arbeidsflytprosess kjøres mer enn et bestemt antall ganger på en bestemt post i en kort periode, mislykkes prosessen med følgende feil: Denne arbeidsflytjobben ble avbrutt fordi arbeidsflyten som startet den, inkluderte en uendelig løkke. Korriger arbeidsflytlogikken og prøv på nytt. Grensen på antall ganger er 16.

Bruke maler for bakgrunnsarbeidsflyter

Hvis du har flere lignende arbeidsflyter og regner med å lage enda flere arbeidsflyter som følger samme mønster, lagrer du bakgrunnsarbeidsflyten som en arbeidsflytmal. Neste gang du må lage en lignende arbeidsflyt, kan du dermed bruke malen til å lage bakgrunnsarbeidsflyten og slippe å skrive inn alle betingelsene og handlingene fra grunnen av.

Velg Ny prosess fra en eksisterende mal (velg fra listen) i dialogboksen Opprett prosess.

Bruke underordnede arbeidsflyter

Hvis du bruker samme logikk i ulike arbeidsflyter eller betingede grener, definerer du denne logikken som underordnet arbeidsflyt, slik at du slipper å replikere logikken manuelt i hver bakgrunnsarbeidsflyt eller betinget gren. Dette er med på å gjøre det enklere å vedlikeholde arbeidsflyter. I stedet for å undersøke mange arbeidsflyter som kan bruke samme logikk, kan du ganske enkelt oppdatere én arbeidsflyt.

Slett fullførte bakgrunnsarbeidsflytjobber automatisk

Når det gjelder bakgrunnsarbeidsflyter (asynkront), anbefaler vi at du merker av for Slett fullførte arbeidsflytjobber automatisk (for å spare diskplass) i bakgrunnsarbeidsflytdefinisjonen. Hvis du merker av for dette alternativet, kan systemet slette bakgrunnsarbeidsflytlogger for vellykkede kjøringer som sparer plass. Vær oppmerksom på at logger fra mislykkede bakgrunnsarbeidsflytkjøringer alltid lagres for feilsøkingsformål.

Oppbevaring av arbeidsflytjobb.

Begrens antall arbeidsflytoperasjoner som oppdaterer samme tabell

Kjøring av mer enn én bakgrunnsarbeidsflyt som oppdaterer den samme tabellen, kan føre til ressurslåsingsproblemer. Tenk deg flere arbeidsflyter som kjører, der hver salgsmulighetoppdatering utløser en oppdatering til den tilknyttede forretningsforbindelsen. Flere forekomster av disse arbeidsflytene som kjører og prøver å oppdatere samme forretningsforbindelsesrad samtidig, kan føre til ressurslåseproblemer. Bakgrunnsarbeidsflytfeil oppstår og en feilmelding, for eksempel SQL-tidsavbrudd: Kan ikke låse ressursen ressursnavn, registreres.

Bruk notater til å holde rede på endringer

Når du redigerer arbeidsflyter, bør du bruke kategorien Notater til å skrive inn det du gjorde. Dermed blir det enklere for andre å forstå endringene du har gjort.

Neste trinn

Konfigurere bakgrunnsarbeidsflytprosesser
Overvåk og administrer bakgrunnsarbeidsflytprosesser