Neu Worker hängt sich bei WF auf

bauti

Gut bekanntes Mitglied
20. Januar 2021
123
9
Ich habe ziemlich viele Workflows laufen. Und ich hatte nun zwei mal das Problem dass sich der Worker bei einem WF aufgehängt hat und keine weiteren WF´s ausgeführt hat. Der Webshopabgeich wurde weiter durchgeführt. Bemerkt habe ich dies erst nach fast einem Tag bzw nach ein paar Stunden. Das hat einen Tag Arbeit für mich verursacht und könnte wenn es länger unvermerkt bleibt auch größere Problem verursachen.

Vermutlich war ein Workflow schuld welcher ein kleines Skript aufruft welches Daten von JTL zu einem Modified Shop überträgt. Eventuell hat das Skript keine Rückmeldung erhalten vom Shop und wurde deshalb nicht beendet. Deshalb hat der Worker die danach folgenden WF´s nicht ausgeführt. Nachdem ich den Worker beendet habe und neu gestartet habe wurden die WF´s wieder abgearbeitet.

Ich weiß das ist jetzt Rätselraten. Mir geht es aber um Ideen wie wir solche Probleme grundsätzlich vermeiden oder wenigstens bemerkten können. Es läuft zB. ein Skriot im Hintergrudn welches ein Mail sendet wenn 10 Minuten kein Shopabgleich passiert ist, aber bei den WF´s funktioniert dies nicht. Ich habe auch einen Dienstleister, aber dem fehlt auch die Idee...

Viellicht kennt ja von euch jemand eine Möglichkeit wie man das ganze monitoren kann...
 

elevennerds.de

Sehr aktives Mitglied
23. September 2015
1.235
212
Code:
SELECT COUNT(tWorkflowQueue.kWorkflowQueue) AS [Queue]
        FROM tWorkflowQueue
        WHERE tWorkflowQueue.dStartDate < GETDATE() 
        AND tWorkflowQueue.nStatus != 3
SQL WAWI 1.5.X

Dieser Query gibt Dir die Anzahl der Workflows in der Queue, die ausgeführt werden müssen. Wenn der zurückgegebene Wert über einen Schwellwert steigt, dann hängt was.
 

bauti

Gut bekanntes Mitglied
20. Januar 2021
123
9
Danke!
Funktioniert bei uns aber denke ich nicht. Es gibt zB. Bewertungsanforderugnsmails welche nach einer Woche versendet werden. Oder WF´welche 3 Stunden nach Versand erledigt werden. Je nach Bestelleingang und ob grade verpackt wird, oder nicht variiert dies zwischen ein ein paar hundert und über tausend...

Ach ja: JTL 1.6.40.0. Aber der Worker ist eine ältere Version...
 

elevennerds.de

Sehr aktives Mitglied
23. September 2015
1.235
212
Probier es bitte aus. Dafür ist diese Bedingung da: tWorkflowQueue.dStartDate < GETDATE()

Bedeutet: alle Workflows, die jetzt gerade laufen sollten...
 

bauti

Gut bekanntes Mitglied
20. Januar 2021
123
9
Verstehe. Also nicht die Anzahl der geplanten WF´s, sondern der WF´s bei welchen das Startdatum schon verstrichen ist...

Danke!
 

bauti

Gut bekanntes Mitglied
20. Januar 2021
123
9
Vielen Dank. Das hat funktioniert. Mein Dienstleister hat es wohl noch etwas umgebaut. Ich bekomme jetzt ein Mail sobald ein WF 5 Minuten überfällig ist.
 
  • Gefällt mir
Reaktionen: elevennerds.de

bauti

Gut bekanntes Mitglied
20. Januar 2021
123
9
Das hat ein Dienstleister für mich gemacht. Ich weiß nicht wo das genau eingebaut wurde. Ich der Diesntleister hat den Code integriert in ein (beim Dienstleister) bestehndes Tool welches mich auch per Mail warnt wenn der Shopabgleich hängt. Das mit dem Shopabgleich hatte der Dienstleister auch bei anderen seiner Kunden schon eingesetzt, für die WF´s hatte er aber eben noch keine fertige Lösung...
 

Ähnliche Themen