Bewährte Verfahren bei Prozessen von Hintergrundworkflows
Dieses Thema enthält bewährte Methoden für das Erstellen und Verwalten von Hintergrund-Workflowprozessen.
Vermeiden Sie Endlosschleifen
Es ist möglich, Logik in einem Hintergrund-Workflow zu erstellen, die zu einer Endlosschleife führt, die Serverressourcen verbraucht und die Leistung beeinträchtigt. Die typische Situation, in der eine Endlosschleife auftreten kann, ist, wenn Sie einen Hintergrund-Workflow haben, der so konfiguriert ist, dass er startet, wenn eine Spalte aktualisiert wird, und dann diese Spalte in der Logik des Workflows aktualisiert. Die Aktualisierungsaktion löst denselben Hintergrund-Workflow aus, der die Zeile aktualisiert und den Hintergrund-Workflow wieder und wieder auslöst.
Die Workflows, die Sie erstellen, enthalten Logik, um Endlosschleifen zu erkennen und zu beenden. Wenn ein Hintergrund-Workflow-Prozess mehr als eine bestimmte Anzahl von Malen für eine bestimmte Zeile in einem kurzen Zeitraum ausgeführt wird, schlägt der Prozess mit dem folgenden Fehler fehl: Dieser Workflowauftrag wurde abgebrochen, weil der Workflow, der ihn gestartet hat, eine Endlosschleife enthielt. Korrigieren Sie die Workflow-Logik und versuchen Sie es erneut. Die Anzahl der Versuche ist auf 16 beschränkt.
Verwenden Sie Hintergrund-Workflow-Vorlagen
Wenn Sie Workflows verwenden, die einander ähneln, und erwarten, weitere Workflows nach dem gleichen Muster zu erstellen, speichern Sie Ihren Hintergrund-Workflow als Workflowvorlage. Auf diese Weise erstellen Sie Ihren nächsten ähnlichen Workflow, indem Sie die Vorlage zur Erstellung des Hintergrundworkflow nutzen und so nicht erneut alle Bedingungen und Aktionen eingeben müssen.
Wählen Sie im Dialogfeld Prozess erstellen die Option Neuer Prozess aus vorhandener Vorlage (aus Liste auswählen) aus.
Untergeordnete Workflows verwenden
Wenn Sie die gleiche Logik in verschiedenen Workflows oder Bedingungsverzweigungen verwenden, definieren Sie diese Logik als untergeordneten Workflow, damit Sie diese Logik nicht manuell in jedem Hintergrund-Workflow oder jeder Bedingungsverzweigung wiederholen müssen. Dies erleichtert, Ihre Workflows zu verwalten. Anstatt zahlreiche Workflows zu überprüfen, die dieselbe Logik anwenden könnten, müssen Sie nur einen einzigen Workflow aktualisieren.
Automatisches Löschen von abgeschlossenen Hintergrund-Workflowaufträgen
Bei (asynchronen) Hintergrundworkflows ist es empfehlenswert, in der Hintergrund-Workflowdefinition die Option Abgeschlossene Workflowaufträge automatisch löschen (um Speicherplatz zu sparen) zu aktivieren. Durch Auswahl diese Kontrollkästchens kann das System Protokolle von Hintergrundworkflows zur erfolgreichen Ausführungen löschen, um Speicherplatz zu sparen. Denken Sie daran, dass Protokolle von fehlerhaften Hintergrund-Workflowausführungen immer zur Problembehandlung gespeichert werden.
Begrenzung der Anzahl der Workflows, die dieselbe Tabelle aktualisieren
Das Ausführen von mehr als einem Hintergrund-Workflow, der dieselbe Tabelle aktualisiert, kann zu Problemen mit der Ressourcensperre führen. Stellen Sie sich mehrere Workflows vor, bei denen jede Verkaufschance-Aktualisierung eine Aktualisierung des zugehörigen Kontos auslöst. Mehrere Instanzen dieser Workflows, die gleichzeitig ausgeführt werden und versuchen, die gleiche Kontozeile zu aktualisieren, können zu Problemen beim Sperren von Ressourcen führen. Hintergrund-Workflowfehler treten auf und eine Fehlermeldung, wie z. B. SQL Timeout: Kann keine Sperre auf Ressource Ressourcenname erhalten, wird aufgezeichnet.
Verwenden von Notizen, um Änderungen nachzuverfolgen
Wenn Sie Workflows bearbeiten, sollten Sie die Notizenregisterkarte verwenden und eingeben, was Sie warum getan haben. So verstehen auch andere Benutzer die Änderungen, die Sie vorgenommen haben.
Nächste Schritte
Hintergrund-Workflowprozesse konfigurieren
Prozesse von Hintergrundworkflows überwachen und verwalten