Gelöst Workflow auf bestimmten Rechner ausführen

FPS-Dresden

Aktives Mitglied
18. Mai 2022
8
3
Hallo,

ich möchte einen Workflow immer auf einem bestimmten Rechner der Firma ausführen lassen.


Bei uns ist dies der Datenbankserver, auf dem der Worker (als Windows Dienst installiert) permanent läuft.
In der JTL Wawi sind die entsprechenden Druckvorlagen auch den vorhanden und benötigten Druckern entsprechend zugewiesen (Für den Export/Speichern sind die entsprechenden Pfade hinterlegt).
Die JTL-Wawi ist im Normalfall geschlossen, der worker läuft.

Der Workflow speichert die festgeschrieben Rechnungen als PDF und CSV in einem bestimmten Ordner auf dem Server ab. Dies funktioniert soweit auch super.

Problem:
Wird auf einem "Client" im Netzwerk eine Rechnung festgeschrieben, wird der Workflow ausgeführt aber mit Fehlern, da der Angegeben Pfad für das Speichern nicht vorhanden ist. Die Dateien werden also auch nicht exportiert oder gespeichert.

Bereits probierte Lösungen:
Workflow verzögert ausführen, Zeit: 60.000 MS oder auch 100.000MS -- leider kein Ergebnis.

Gibt es eine zuverlässige Lösung Workflows immer auf dem Rechner, auf dem der Worker läuft, ausführen zu lassen?
 

elevennerds.de

Sehr aktives Mitglied
23. September 2015
1.235
212
Ja, gibt es, mit "zeitversetzen Workflows" (oben rechts). Dort ist die minimal einstellbare Verzögerung 1 Minute. Sobald der Workflow zeitversetzt ausgeführt wird, wird er immer durch den Worker-Prozess gestartet.
 

FPS-Dresden

Aktives Mitglied
18. Mai 2022
8
3
Hey,
das hatte ich schon so probiert mit 100.000 MS z.B.

Muss der Warten dann länger als das Intervall des Workers sein? (dieser gleicht alle 120S bei uns ab)
 

mh1

Sehr aktives Mitglied
4. Oktober 2020
1.873
562
Hey,
das hatte ich schon so probiert mit 100.000 MS z.B.

Muss der Warten dann länger als das Intervall des Workers sein? (dieser gleicht alle 120S bei uns ab)
Ich würde sagen, euer Worker wird alle 120 Sek aufgeweckt und arbeitet dann alles ab, was anliegt.
Demnach muss der Zeitversatz > 120 Sek eingestellt werden, um vom Worker abgearbeitet zu werden.
Ist aber nur so eine Überlegung, die mir logisch erscheint - kann aber auch völlig anders sein...
 

elevennerds.de

Sehr aktives Mitglied
23. September 2015
1.235
212
In Millisekunden kann man da nichts einstellen, minimale Größe ist hier in Minuten.

Die Zeit kann kleiner sein, als die Worker-Ausführungszeit. Der Worker arbeitet alle Workflows ab, die zeitversetzt und deren Startzeit < aktuelle Zeit ist. Ist dann natürlich bspw. nicht eine Minute zeitversetzt, sondern mehr, falls der Worker nur alle 5 Minuten läuft. Dafür hat der Worker auch eine Anzeige.

Alle Aussagen beziehen sich auf den alten Worker und Wawi 1.5
 

Thomas Berge

Moderator
Mitarbeiter
3. Dezember 2017
390
117
Hallo @FPS-Dresden,

ich glaube da verwechselst du etwas. Für jeden Workflow kannst du einstellen, ob der Workflow "Ausführungsplan (Sofort)" oder "Ausführungsplan (Zeitverzögert)" verwenden soll. Bei Ausführungsplan Sofort wird der Workflow auf dem Client ausgeführt, wo das auslösende Ereignis eingetreten ist. Bei Zeitverzögert wird der Workflow in die Queue geschrieben und wird vom Worker abgearbeitet, wenn der Ausführungszeitpunkt erreicht wurde.

Wie @elevennerds.de schon geschrieben hat, kannst du eine Verzögerung von mind. 1 Minute einstellen.

Die Zeit in Millisekunden, die du meinst, ist speziell für die Workflowaktion Ausgabe. Die dort eingestellte Zeit in MS gibt an, wie lang auf die Antwort der Ausgabe gewartet werden soll. Ist die Zeit abgelaufen und es kam keine Antwort, läuft der Workflow wegen Timeout in einen Fehler. Diese Option ist eher zum Debuggen da, damit man herausfinden kann, warum z.B. die Mail nicht versendet wurde.
 

Ähnliche Themen