Verwiesen an Support Workflow Queue wächst an und arbeitet nicht mehr ab

Stephan K.

Sehr aktives Mitglied
14. Mai 2014
1.180
268
Hi,

das Problem, dass Rechnungen und Gutschriften nicht erstellt werden, weil der Workflow irgendwo hängt, ist ja nicht neu. Ich habe eine Batch-Datei, die mir am Ende jeden Monats nach vorheriger Umbenennung die Nummerierung prüft und Lücken aufzeigt. Soweit nichts Neues. Das Problem führe ich auf mangelnde Sorgfalt bei der Programmierung zurück, denn das gab es vorher nicht. Es werden also nicht die notwendigen Rechnungen und Gutschriften ausgegeben zur GoBD-Archivierung.

Das ganze hängt wohl mit zeitversetzten workflows zusammen wie hier im Forum schonmal erwähnt, aber ohne Lösung noch offen als Thread (Monate her).
Daher die Frage: Wer hat hier eine Lösung oder das gleiche Problem?
Zeitversetzt sind Stornos und Zahlungserinnerungen für Shop-Bestellungen sowie Amazon-Rechnungen. Mehr als diese 3 Stück gibt es nicht, doch die Queue wächst ewig an mit sinnlosesn tasks (selbst Amazon-Bestellungen werden - obwohl keine Shop-Bestellung - ewig in dieser Liste geführt).
 

elevennerds.de

Sehr aktives Mitglied
23. September 2015
1.187
179
Ich habe hier ein ähnliches Problem, die Queue baut sich immer weiter auf, teilweise eine Stunde und mehr im Rückstand.

Eine Lösung ist es, gut mit zeitversetzten und Sofort-Workflows zu haushalten. Einen weiteren positiven Effekt hat die Umstellung auf die neuen Vorlagen gebracht.
 

Stephan K.

Sehr aktives Mitglied
14. Mai 2014
1.180
268
Ja. Ich habe die Queue gestern mal gelöscht und es wurden schon wieder ALLE Bestellungen zu den Shop-Stornos mit in die Liste genommen. Dabei ist die erste Bedingung: "Ist Shop?" und erst danach "Ist 7 Tage alt?" Aber selbst Amazon-Bestellungen werden nicht verworfen und on-hold gesetzt. Das ist irgendwie ineffizient.

Danke für den Tipp mit den neuen Vorlagen. Das sollte ich mal probieren. Ich kann mir vorstellen, dass er hier die Bausteine im Speicher hält und nicht jedes Mal die Vorlage neu aufbauen muss und man dabei Zeit spart.

Wenn ich per workflow die Rechnungen zur Archivierung ausgeben lasse, dauert das inzwischen mehrere Sekunden!
Mache ich es per Ausgabe>Rechnung>Erweitert>Vorlage manuell geht das wie gewohnt ratzfatz.

Ich werde das mit der Vorlage also mal probieren, denke aber nicht, dass es primär daran liegt. Ich denke das ist eine Langsamkeit in der workflow Abarbeitung, die irgendwas doppelt und dreifach prüft oder auch unlogische Dinge abarbeitet (Ist Shop? Nein. Ist bezahlt? Ja. Trotzdem mit in Liste der Shop-Stornos als Beispiel)
 

hula1499

Sehr aktives Mitglied
22. Juni 2011
5.154
1.073
Du musst halt schon berücksichtigen, dass JEDER Auftrag, ALLE Workflows zumind. im Bereich "Auftrag" 1x durchläuft.

Hast du also, zb. 30 Workflows unter Aufträge, läuft dein Auftrag, egal woher er kommt (ama, ebay, shop...) jeden dieser Workflows 1x durch.
Hast dann noch 10 Workflows in Auftrag geändert, selbiges nochmal (für die geänderten WF).
 

Arne Janson

Offizieller Servicepartner
SPBanner
17. Juni 2019
612
155
Moin @Stephan K.
"Langsamkeit in der Workflow Abarbeitung," ich schätze nicht das hier das Problem liegt. Die Workflow Queue kann mit jedem Workerabgleich "viele" Aufträge abarbeiten. Ansonsten kannst du ja ein Ticket beim JTL Support aufmachen, dann können die es sich ansehen und finden evtl. eine Lösung.
 

Stephan K.

Sehr aktives Mitglied
14. Mai 2014
1.180
268
@Arne Janson
Ja, ich mache ein Ticket auf. Gerade heute wieder ist er nach 17 Speichervorgängen hängengeblieben und die Queue arbeitet nicht mehr weiter.

Es wurde nichts geändert außer das Update auf 1.5.34 gemacht

@hula1499
Ja, dass er jeden Workflow angeht, ist ja okay. Aber dass er trotz verweigerter Bedingungen nicht den Auftrag verwirft, sondern ihn in der Warteschleife hält, ist nicht erklärbar.
 

elevennerds.de

Sehr aktives Mitglied
23. September 2015
1.187
179
Gerade heute wieder ist er nach 17 Speichervorgängen hängengeblieben und die Queue arbeitet nicht mehr weiter.

Ich habe mir im Monitoring jetzt folgende Queries eingerichtet, um zumindest eine Meldung zu erhalten, wenn die Queue wieder hängt:

Nur geeignet für JTL-WAWI Version 1.5.x
SQL:
SELECT TOP 1
tWorkflowLog.dDatum,
tWorkflow.cName,
tWorkflowLog.cLog
FROM tWorkflowLog
JOIN tbenutzer ON tbenutzer.kBenutzer = tWorkflowLog.kBenutzer
JOIN tWorkflow ON tWorkflow.kWorkflow = tWorkflowLog.kWorkflow
WHERE tWorkflowLog.kWorkflowAktion != -1
AND tbenutzer.cLogin = :cLogin
AND (tWorkflow.nSchedulerHour + tWorkflow.nSchedulerMinute + tworkflow.nSchedulerDayValue + tWorkflow.nSchedulerMonthValue) > 0
ORDER BY tWorkflowLog.dDatum DESC

:cLogin muss durch den Benutzer, unter dem der Worker läuft ersetzt werden. Dieser Query gibt mir den Zeitpunkt der letzten erfolgreichen zeitversetzten Workflowausführung zurück.

Nur geeignet für JTL-WAWI Version 1.5.x
SQL:
SELECT COUNT(tWorkflowQueue.kWorkflowQueue) AS [nQueue]
FROM tWorkflowQueue
WHERE tWorkflowQueue.dStartDate < GETDATE() 
AND tWorkflowQueue.nStatus != 3

Dieser Query gibt dir die Anzahl der wartenden Workflows zurück.

Nun prüft das Monitoring ob es in der Queue Workflows zum ausführen gibt (Query 2), falls ja, prüft er, wann der letzte Workflow ausgeführt wurde. Ist dieser Zeitpunkt länger als X Minuten her > Alarm.

Nach ein wenig testen fahre ich nun folgendes Setup: die Queue muss mehr als 3500 Workflows enthalten und Query 1 muss mindestens einen Zeitpunkt zurück liefern, der nicht älter als 10 Minuten ist. Diese Zahlen sind natürlich von der Anzahl der Workflows und Aufträge abhängig.

Im nächsten Schritt werden ich mir die Tabellen WorkflowQueue und WorkflowLog im Fehlerfall dumpen, um eventuelle fehlerhafte Workflows aufzuspüren.

Wie immer in der Datenbank: ALLES AUF EIGENE GEFAHR! Datenbankbackup machen!

Wer Verbesserungen an den Queries findet, immer her damit.
 
  • Gefällt mir
Reaktionen: hula1499

garifulin

Sehr aktives Mitglied
10. Januar 2019
337
51
@Stephan K. Hallo Stphan,
Hast du schon eine Lösung?
Ich hatte mal einen Zeitverzögerten WF, der 7 Tage nach Auftragserstellung laufen sollte und dieser hat Queue nach 3 oder 4 Wochen komlett überfluttet und damit auch den WF der nach 1sec laufen sollte um die Rechnungen zu archivieren wurde dann auch nicht mehr ausgeführt + + +
Nun habe ich die Aufgabe bekomme wieder einen Zeitverzögerten WF zu erstellen der auf nicht bezahlte Vorkasse Aufträge abzielt und ich möchte das wiederhollte voll laufen der Queue verhindern.


Edit: meine Idee wäre evtl. 2 WF´s zu erstellen. Einen Sofort WF der Aufträge prüft auf Vorkasse und einen Zweiten WF der in x Tagen anläuft und Erinnerungs Mails generiert. Nur wie?
 
Zuletzt bearbeitet:

Stephan K.

Sehr aktives Mitglied
14. Mai 2014
1.180
268
@Stephan K. Hallo Stphan,
Hast du schon eine Lösung?
Ich hatte mal einen Zeitverzögerten WF, der 7 Tage nach Auftragserstellung laufen sollte und dieser hat Queue nach 3 oder 4 Wochen komlett überfluttet und damit auch den WF der nach 1sec laufen sollte um die Rechnungen zu archivieren wurde dann auch nicht mehr ausgeführt + + +
Nun habe ich die Aufgabe bekomme wieder einen Zeitverzögerten WF zu erstellen der auf nicht bezahlte Vorkasse Aufträge abzielt und ich möchte das wiederhollte voll laufen der Queue verhindern.


Edit: meine Idee wäre evtl. 2 WF´s zu erstellen. Einen Sofort WF der Aufträge prüft auf Vorkasse und einen Zweiten WF der in x Tagen anläuft und Erinnerungs Mails generiert. Nur wie?
Moin,

eine der Lösungen für zeitversetzte Workflows war, dass z.B. Rechnungserstellung und Rechnungsausgabe (Archiv) nicht beide zeitversetzt laufen. Wenn Workflows auf ein und das gleiche zugreifen, gibt es scheinbar kein Prioritätensystem und das schafft die Wawi einfach nicht.
Ein weiteres "Logikproblem" ist, dass man Workflows ohne Bedingungen mit "Alle Bedingungen" einschalten muss und nicht wie es nahe liegend ist mit "Keine Bedingung."

Ich habe auch einen zeitversetzten Workflow für unbezahlte Vorkasse-Aufträge im Webshop. Hier werden trotz Vorbedingungen auch immer alle Aufträge abgelegt und in der Schlange vorrätig gehalten.
 
  • Gefällt mir
Reaktionen: elevennerds.de

garifulin

Sehr aktives Mitglied
10. Januar 2019
337
51
@Stephan K. ich hoffe ich darf deinen Thread ein wenig als erinnerungsstütze missbrauchen.
Folgende idee ist mir heute Morgen gekommen.
Ich erstelle 3 Workflows.
1WF sofort bei Auftragserstellung prüft die Bezahlart auf "Vorkasse" und lösst damit den zweiten WF auf
2WF ist ein Manueller WF der zeitverzögert in 7 Tagen starten soll und bei fehlendem Zahlungeingag die Kunden an die Ausstehende Zahlung erinnert + den dritten WF aktiviert
3WF ist ein Manueller WF der zeitverzögert in 7 Tagen starten soll, wenn Auftrag weiterhin unbezahlt ist soll der Auftrag storniert werden.

Ich denke so könnte man die Queue erheblich entlasten
 

forumjtlolshopag

Sehr aktives Mitglied
6. Juni 2018
614
163
Habens aktuell auch gerade beobachtet. Kam bei eurem Ticket was raus, woran es gelegen hat? Wir sind bei 1.5.53.2. Laut Abfrage von @elevennerds.de haben wir >10.000 Workflows im Queue die nicht abgearbeitet sind. Schon heftig, da scheint auch einiges von früher hängen geblieben zu sein. Wir prüfen das noch weiter nach und machen da nochmal ein Ticket für auf.
 

Arne Janson

Offizieller Servicepartner
SPBanner
17. Juni 2019
612
155
Worker schon mal neu gestartet?
Ab der 1.6 kann der Worker 2.0 ja als Dienst eingerichtet werden und die Workflows können dann alle 1 Min getriggert werden.
Die wenigsten Kunden von uns sind noch auf der 1.5 unterwegs => meisten 1.6/1.7

MfG

Arne Janson
 
  • Gefällt mir
Reaktionen: Scubarpro

HellwegDruckerei

Sehr aktives Mitglied
24. Februar 2018
151
33
Wir müssen inzwischen 2-3 täglich den Worker neustarten weil sich die "Workflows" aufhängen. Merken es zwischendurch dann wenn Versandarten nicht mehr richtig zugewiesen werden.
Wir haben ein Ticket eröffnet und haben nur mal wieder eine unzufriedene Antwort erhalten "Ist bekannt, wir arbeiten dran" d.h. bei JTL ja inzwischen so viel wie "Wenn du Glück hast beheben wir das irgendwann einmal, bitte denk aber dran das du deine Rechnungen pünktlich bezahlst und leb mit dem Bug"
 
  • Gefällt mir
Reaktionen: Scubarpro

HellwegDruckerei

Sehr aktives Mitglied
24. Februar 2018
151
33
Ich habe mir im Monitoring jetzt folgende Queries eingerichtet, um zumindest eine Meldung zu erhalten, wenn die Queue wieder hängt:

Nur geeignet für JTL-WAWI Version 1.5.x
SQL:
SELECT TOP 1
tWorkflowLog.dDatum,
tWorkflow.cName,
tWorkflowLog.cLog
FROM tWorkflowLog
JOIN tbenutzer ON tbenutzer.kBenutzer = tWorkflowLog.kBenutzer
JOIN tWorkflow ON tWorkflow.kWorkflow = tWorkflowLog.kWorkflow
WHERE tWorkflowLog.kWorkflowAktion != -1
AND tbenutzer.cLogin = :cLogin
AND (tWorkflow.nSchedulerHour + tWorkflow.nSchedulerMinute + tworkflow.nSchedulerDayValue + tWorkflow.nSchedulerMonthValue) > 0
ORDER BY tWorkflowLog.dDatum DESC

:cLogin muss durch den Benutzer, unter dem der Worker läuft ersetzt werden. Dieser Query gibt mir den Zeitpunkt der letzten erfolgreichen zeitversetzten Workflowausführung zurück.

Nur geeignet für JTL-WAWI Version 1.5.x
SQL:
SELECT COUNT(tWorkflowQueue.kWorkflowQueue) AS [nQueue]
FROM tWorkflowQueue
WHERE tWorkflowQueue.dStartDate < GETDATE()
AND tWorkflowQueue.nStatus != 3

Dieser Query gibt dir die Anzahl der wartenden Workflows zurück.

Nun prüft das Monitoring ob es in der Queue Workflows zum ausführen gibt (Query 2), falls ja, prüft er, wann der letzte Workflow ausgeführt wurde. Ist dieser Zeitpunkt länger als X Minuten her > Alarm.

Nach ein wenig testen fahre ich nun folgendes Setup: die Queue muss mehr als 3500 Workflows enthalten und Query 1 muss mindestens einen Zeitpunkt zurück liefern, der nicht älter als 10 Minuten ist. Diese Zahlen sind natürlich von der Anzahl der Workflows und Aufträge abhängig.

Im nächsten Schritt werden ich mir die Tabellen WorkflowQueue und WorkflowLog im Fehlerfall dumpen, um eventuelle fehlerhafte Workflows aufzuspüren.

Wie immer in der Datenbank: ALLES AUF EIGENE GEFAHR! Datenbankbackup machen!

Wer Verbesserungen an den Queries findet, immer her damit.
wie müsste das ganze denn in der 1.7 aussehen? Dann könnten wir das auf unser Grafana legen und würden es zumindest direkt mitbekommen wenn es wieder hängt
 

bwdcd

Aktives Mitglied
30. April 2021
38
13
Wir müssen inzwischen 2-3 täglich den Worker neustarten weil sich die "Workflows" aufhängen. Merken es zwischendurch dann wenn Versandarten nicht mehr richtig zugewiesen werden.
Wir haben ein Ticket eröffnet und haben nur mal wieder eine unzufriedene Antwort erhalten "Ist bekannt, wir arbeiten dran" d.h. bei JTL ja inzwischen so viel wie "Wenn du Glück hast beheben wir das irgendwann einmal, bitte denk aber dran das du deine Rechnungen pünktlich bezahlst und leb mit dem Bug"
Moin, wir sind ebenfalls betroffen. Dienstleister und JTL sind da gerade dran. Hoffe, das wird schnell behoben. Version: 1.7.11.1.

Grüße Dolli
 
Ähnliche Themen
Titel Forum Antworten Datum
JTL Mahnwesen Workflow- Email nach 30 Tagen noch nicht bezahlt. JTL-Wawi 1.8 0
Neu Workflow der bei Stücklisten: Überverkäufe de-/aktivieren User helfen Usern - Fragen zu JTL-Wawi 11
Neu Workflow Aktion E-Mail senden kann nicht Plain und HTML Email zusammen versenden Arbeitsabläufe in JTL-Wawi 6
Workflow Manuell HTML Request wie Server Antwort verarbeiten JTL-Wawi 1.7 0
Workflow Marktplätze - Otto, Kaufland, etc. JTL-Wawi 1.6 0
Workflow Artikel + Anzahl in Einkaufsliste aktualisieren JTL-Wawi 1.8 0
Neu Workflow Web-Request Post für mollie Arbeitsabläufe in JTL-Wawi 5
Workflow MwSt.-Sätze ersetzen 0% -> 19% ändert netto in Positionen aber nicht in der Auftragssumme JTL-Wawi 1.7 2
Neu API Integration via Workflow Arbeitsabläufe in JTL-Wawi 8
In Diskussion Automatische Zuweisung der Kategorien für Artikel durch Workflow JTL-Workflows - Ideen, Lob und Kritik 3
In Bearbeitung Workflow offene Aufträge zusammenfassen bei ausgelieferten JTL-Workflows - Ideen, Lob und Kritik 1
Neu Workflow-Auswahl ... mit ins Kontext-Menü aufnehmen (rechten Maustaste) JTL-Wawi - Ideen, Lob und Kritik 2
Neu Benachrichtigung per Workflow bei Wareneingang User helfen Usern - Fragen zu JTL-Wawi 24
Workflow für Artikel versandklassen JTL-Wawi 1.7 1
Gelöst Per Workflow im Servicedesk eine Mail versenden. Gelöste Themen in diesem Bereich 4
Workflow für Versandart Wenn/Und JTL-Wawi 1.7 0
Workflow für Amazon Zahlart erstellen JTL-Wawi 1.7 0
In Diskussion Workflow von Stornobelege Rechnung JTL-Workflows - Ideen, Lob und Kritik 1
Workflow Auftraqspositionen per Email an Kunden senden JTL-Wawi 1.7 3
Gelöst Servicedesk Workflow Datei erstellen um einen Auftrag zu ändern Gelöste Themen in diesem Bereich 1
Neu Workflow mit Freipositionen in Email Gelöste Themen in diesem Bereich 3
Neu Workflow > Rechnungen > Label Setzen ? (1.8.11) User helfen Usern - Fragen zu JTL-Wawi 6
Neu Workflow Ereignis auslösen wenn alle Bedingungen erfüllt sind. Sonst anderes Ereignis auslösen. JTL-Wawi - Ideen, Lob und Kritik 0
Beantwortet Kunde von Firma per Workflow setzen JTL-Workflows - Ideen, Lob und Kritik 1
Neu Workflow für Rechnung gesucht Arbeitsabläufe in JTL-Wawi 1
Workflow - Debitorennummer JTL-Wawi 1.8 2
In Diskussion Workflow - Artikelmerkmale setzen? JTL-Workflows - Ideen, Lob und Kritik 2
Workflow: Mahnungen - Fehler JTL-Wawi 1.8 5
Neu Workflow Lieferantenartikel-Nummer vor Artikelname setzen JTL-Wawi 1.7 1
In Diskussion Workflow wenn offene Rechnungen, dann weitere offene Aufträge sperren und im Kundensatz Sperrung setzten. JTL-Workflows - Ideen, Lob und Kritik 0
Workflow für Kaufland greift nicht mehr 1.8.11.0 kaufland.de - Anbindung (SCX) 5
[JTL-WAWI API] - Trigger Sales Order Workflow Event JTL-Wawi 1.8 3
Workflow-Bug: 1.8.11 Attribute in Workflow setzen JTL-Wawi 1.8 10
In Diskussion Workflow, Wert setzen aus Zwischenablage/Clipboard JTL-Workflows - Ideen, Lob und Kritik 0
Neu EK-Preise per Workflow in Lieferantenbestellung einfügen? User helfen Usern - Fragen zu JTL-Wawi 0
Neu Workflow Rechnungsvorlage ändern klappt nicht - Wawi 1.7.13.1 User helfen Usern - Fragen zu JTL-Wawi 0
Neu per Workflow: WhatsApp oder ähnliches senden User helfen Usern - Fragen zu JTL-Wawi 0
Workflow Bug: Rechnungskorrektur erstellen aus Retoure JTL-Wawi 1.8 4
Gelöst In Workflow auf Stücklistenartikel zugreifen und dessen Eigenschaften anzeigen Gelöste Themen in diesem Bereich 7
Neu Manueller Workflow alle Artikel markieren funktioniert nicht JTL-Wawi - Fehler und Bugs 3
Englische Artikelbezeichnung in einem Workflow JTL-Wawi 1.7 0
In Diskussion Workflow für unbearbeitete Pickliste (versehentlich unbearbeitete in Auftrag verpacken verschieben) JTL-Workflows - Ideen, Lob und Kritik 2
Neu Suche Workflow Bedingung: "Wenn nicht storniert?" User helfen Usern - Fragen zu JTL-Wawi 2
Speichern von Retouren-Workflow schlägt fehl (JTL 1.6.39.0) JTL-Wawi 1.6 2
Neu Workflow: Vorname bei Auftragserstellung löschen Wawi 1.5 Gelöste Themen in diesem Bereich 3
Neu Vorschlag: Per Workflow Tickets erstellen Servicedesk (Beta) 1
Neu Workflow - Oberkategorie prüfen Eigene Übersichten in der JTL-Wawi 10

Ähnliche Themen