Zyklische Workflows (Beispiele)

Endlose Workflows


In der Beschreibung des Workflow-Designers haben wir nicht den vollen Umfang der Möglichkeiten beschrieben. Wir haben dort gesagt, dass ein Workflow immer einen Endzustand haben muss. Das ist zwar nicht falsch, aber man kann es praktisch umgehen.

Es wird zwar erzwungen, dass ein Endzustand eingefügt wird, Sie können aber dafür sorgen, dass dieser per Definition nie erreicht werden kann. D. h. der Job eines solchen Workflows kann sich theoretisch auf ewig in sich selber bewegen, ohne jemals einen Endzustand zu erreichen.

Wichtiger Hinweis: Beachten Sie aber bitte, dass man gut über solche Konstrukte nachdenken sollte, um nicht unnötig die Performance zu belasten oder gar einen Speicher- oder Festplattenüberlauf zu erzeugen. Siehe auch Abschnitt Linearer Ausstiegspunkt unten.


Import: (Anleitung)

Workflow_WF_cyclical.obj


images/download/attachments/137309094/WF_cyclical-version-1-modificationdate-1688713684728-api-v2.png


Ein Job dieses Workflows bewegt sich ständig zwischen State 0 und State 1. Hinweis: Die Transition zum End-Zustand hat eine niedrigere Priorität als Transition 2 und wird deswegen auch nie überprüft, weil Transition 2 immer greift (da keine Bedingung). Im Grunde könnte deswegen in diesem Beispiel auch die Bedingung in der Transition zum Zustand End weggelassen werden.

Natürlich können Sie auch beliebig viele weitere Zustände in den Zyklus einfügen.

Solch ein Zyklus kann an beliebiger Stelle im Workflow eingefügt werden und muss nicht den Start-Zustand beinhalten. D. h. Sie können linear anfangen und dann in eine Schleife gehen.

Zudem können Sie in den Transitionen (hier Transition 1 und Transition 2) nach Belieben Bedingungen und Aktionen einfügen. Wenn Sie allerdings Bedingungen verwenden, dann sollte in den Zuständen auch eine Wartezeit eingetragen werden, damit im Falle einer nicht erfolgreichen initialen Transitionsprüfung danach die zyklische Transitionsprüfung greift.

Linearer Ausstiegspunkt


Wenn Sie Ihren Workflow so gestalten, dass der Endzustand unter bestimmten Umständen erreichbar ist, können Sie jederzeit einen linearen Ausstiegspunkt erzeugen. Wir geben der Transition zum End-Zustand in diesem Fall eine höhere Priorität als Transition 2.

Zusätzlich können Sie in jedem Nicht-Endzustand eine Wartezeit einstellen und somit weitere Beendigungs-Möglichkeiten schaffen. Hinweis: Siehe auch Abschnitt Profile als Workflow-Master.


Import: (Anleitung)

Workflow_WF_cyclical_exit.obj

images/download/attachments/137309094/loop_exit-version-1-modificationdate-1688713684726-api-v2.png