Problemstellung
Ihr möchtet gerne einen Workflow zu Aufträgen oder Artikel immer wieder regelmäßig durchführen, bspw. bei offenen Aufträgen. Die naheliegendste Variante, einen manuellen Workflow anzulegen und diesen sich selbst aufrufen zu lassen geht nicht mehr, sobald ich den Haken "nur den letzten ausführen" setze.
Wenn man nun den o.g. Haken weg lässt, wird der Workflow zwar ausgeführt, überfüllt mir aber die Workflow-Queue regelmäßig, sodass der Worker nicht mehr alle Aufgaben schafft.
Auch der Workaround einen "Stepback"-Workflow sofort aufzurufen, der den erneuten Aufruf queued, wird nicht gehen, da der Worker bei der Planung die Referenzen auf den einzelnen Workflow verhaut und trotzdem den aufrufenden Workflow aus der Queue haut.
Lösung
Man legt den Aufruf des "Stepback"-Workflows auf zeitversetzt, der wiederum den Haupt-Workflow ebenfalls zeitversetzt aufruft. Jetzt kann man in beiden WFs die Option "Nur den letzten ausführen" setzen, um ein volllaufen der Queue zu verhindern.
Dadurch landet der Workflow in einer Endlosschleife und wird vom Worker ständig neu geplant.
Hintergrund
Durch diesen Workaround verhindert man, dass die beiden Workflows gleichzeitig geladen werden können. Dadurch kann auch nicht versehentlich vom Worker der falsche WF gelöscht werden.
Wofür brauch ich das?
Ihr könnt mit der Dauerschleife eure offenen Aufträge regelmäßig überprüfen und checken, ob die Priorität sich ändern müsste, oder die Versandart, oder der Kunde langsam mal informiert werden müsste, oder mal ein storno ausgelöst werden müsste und noch viel mehr. Das ganze geht natürlich exakt genauso mit Artikeln, Gutschriften, Lieferscheinen, etc.
Kommentare
0 Kommentare
Bitte melden Sie sich an, um einen Kommentar zu hinterlassen.