Profile als Workflow-Master (Beispiele)

Bisher haben wir alles aus der Perspektive von Workflows betrachtet. Aber wir können das auch umdrehen, d. h. wir verwenden ein Profil und starten in diesem einen oder mehrere Workflows mit der Funktion start new workflow(a,b). Im Prinzip hat dann das Profil einen Sub-Workflow.

Auch hier können Sie dann im weiteren Verlauf mit der Funktion workflow exists(a) arbeiten oder auch schlafende Zustände mit der Funktion fire workflow-event(a,b) anstoßen (siehe folgendes Beispiel).

Beachten Sie bitte die etwas andere Art, mit der Variablen von Profilen an Workflows übergeben werden.

Schlafende Zustände anstoßen


Wir erinnern uns nochmal an das erste Beispiel aus Abschnitt Interaktive Workflows. Dort haben wir gesagt, dass wir uns extern durch die Transitionen von Zustand zu Zustand hangeln müssen.

Und das tun wir jetzt mit einem Profil. Das Profil startet den Workflow, wartet 20 Sekunden, stößt die automatische Transitionsprüfung an, wartet 20 Sekunden, stößt die erneut die automatische Transitionsprüfung an und beendet sich dann.

Starten Sie das Profil und schauen Sie sich das Verhalten des Workflows-Jobs an.


Import: (Anleitung)

Profile-My_Master_1.pak

Workflow_WF_interactive_1.obj

images/download/attachments/137309123/WF_interactive_1-version-1-modificationdate-1688714407833-api-v2.png

Zyklische Transitionsprüfung einer bestimmten Transition extern anstoßen


Im nächsten Beispiel wollen wir nochmal eine Einstellung aus Transitionen veranschaulichen (→ Prüfe erneut nach).


Import: (Anleitung)

Profile-My_Master_2.pak

Workflow_My_Slave.obj


images/download/attachments/137309123/myslave-version-1-modificationdate-1688714407837-api-v2.png


Starten Sie das Profil. Das Profil startet dann den Workflow und wartet 30 Sekunden lang. Danach wird spezifisch Transition 2 angestoßen (hat die Einstellung Prüfe erneut nach 1 Minute).

Im Workflow sehen wir, dass Zustand Start die automatische Transitionsprüfung eingestellt hat und eine Wartezeit von 3 Minuten. Sobald also der Zustand betreten wird, wird die automatische Transitionsprüfung angestoßen (alle Transitionen) und ab dann (bis zum Ende der Wartezeit) ist die zyklische automatische Transitionsprüfung (alle Transitionen) aktiv.

Nachdem nun aber nach 30 Sekunden die spezifische Transitionsprüfung für Transition 2 angestoßen wurde aus dem Profil, wird ab diesem Zeitpunkt nur noch zyklisch diese eine Transition geprüft.

Sehen Sie sich nach der Beendigung des Workflow-Jobs einfach mal das Log an.

Das Beispiel hier ist die komplizierteste Variante. Das Ganze funktioniert auch, wenn der Zustand Start keine Wartezeit hat (dann gibt es nur die initiale automatische Transitionsprüfung aller Transitionen und danach nur noch die zyklische Prüfung von Transition 2) oder wenn er ein schlafender Zustand ist (dann gibt es nur die zyklische Prüfung von Transition 2).