Neu Worker überwachung?

elevennerds.de

Sehr aktives Mitglied
23. September 2015
978
123
Der Worker startet 3 unterschiedliche Prozesse und wenn diese gerade Daten in die Datenbank schreiben und plötzlich beendet werden - dann kann es zum Datenverlust führen.
Genau dafür gibt es doch Signale. Du musst den Prozess ja nicht gleich abschießen, ein SIGINT sollte erstmal reichen. Wenn der oder die Prozesse darauf in einer gewissen Zeit nicht reagieren, dann kannst Du sie auch mit SIGKILL beenden, denn dann machen die eh nichts mehr.
 

thowi

Gut bekanntes Mitglied
8. Juni 2018
373
43
Ich würde gerne die Prüfung auf den Shopabgleich komplett rausnehmen, weil kein Shop vorhanden und so führt's immer zu einem Fehler, weil eben kein Shopabgleich erfolgt.

Dazu hab ich nun unten die SQL-Abfrage folgendermaßen abgeändert:

Bash:
SqlCmd -U "%USER%" -P "%PASSWD%"  -S "%INSTANCE%" -h-1 -W -Q "SET NoCount ON; SELECT %concatEbay% %concatAmazon% from  %DATABASE%.%TABLENAME% where  %whereMaxMinEbay:"=% %whereMaxMinAmazon:"=% " > "%DBList%"
Also einfach den Shop rausgehauen. Leider klappt das nicht, ich bekomme dann folgende Fehlermeldung per Mail zugeschickt:
Meldung "156", Ebene "15", Status "1", Server "WIN-3HREAPNSEKR\JTLWAWI", Zeile 1
"Falsche Syntax in der N„he des OR-Schlsselworts."


Oben die Setter sollten ja eigentlich egal sein? Jemand eine Idee, wie ich korrekterweise den Shop komplett ausklammern kann?
Danke euch!
 

css-umsetzung

Offizieller Servicepartner
SPBanner
6. Juli 2011
4.507
695
Berlin
Ich würde gerne die Prüfung auf den Shopabgleich komplett rausnehmen, weil kein Shop vorhanden und so führt's immer zu einem Fehler, weil eben kein Shopabgleich erfolgt.

Dazu hab ich nun unten die SQL-Abfrage folgendermaßen abgeändert:

Bash:
SqlCmd -U "%USER%" -P "%PASSWD%"  -S "%INSTANCE%" -h-1 -W -Q "SET NoCount ON; SELECT %concatEbay% %concatAmazon% from  %DATABASE%.%TABLENAME% where  %whereMaxMinEbay:"=% %whereMaxMinAmazon:"=% " > "%DBList%"
Also einfach den Shop rausgehauen. Leider klappt das nicht, ich bekomme dann folgende Fehlermeldung per Mail zugeschickt:
Meldung "156", Ebene "15", Status "1", Server "WIN-3HREAPNSEKR\JTLWAWI", Zeile 1
"Falsche Syntax in der N„he des OR-Schlsselworts."


Oben die Setter sollten ja eigentlich egal sein? Jemand eine Idee, wie ich korrekterweise den Shop komplett ausklammern kann?
Danke euch!
Immer richtig lesen :)

:: xx ist die Anzahl an Minuten, ich würde hier eine 30 oder eher 60 setzen da es ja mal sein kann das der Worker mehr zu tun hat Plattformen die nicht bedient werden stehen dann auf "0"
set maxMinsShop=90
set maxMinsEbay=90
set maxMinsAmazon=90
 
  • Gefällt mir
Reaktionen: thowi

thowi

Gut bekanntes Mitglied
8. Juni 2018
373
43
Ich dachte eigentlich mit dem Setting läuft es jetzt gut.... scheinbar ist aber irgendwo noch der Wurm drin. Gerade hat das Tool eine Mail geschickt mit folgendem Inhalt:

Bildschirmfoto 2019-03-06 um 15.30.40.jpg

Ich hab direkt mal auf der Datenbank geschaut, da sieht der Worker gut aus:
Bildschirmfoto 2019-03-06 um 15.30.44.jpg

Das sind meine Einstellungen aus dem Tool:
Bildschirmfoto 2019-03-06 um 15.31.56.jpg

Warum kam die obige Mail? Sieht doch eigentlich alles gut aus?
 

djharms

Aktives Mitglied
28. Februar 2019
109
19
Uelzen
Moin!

Der Worker scheint auch ohne email-Warnung hin und wieder zu hängen,
zumindest ist das bei uns aktuell seit 2 Tagen so, dass ich den Worker von
Hand anwerfen muss, da die Daten leider nicht automatisiert abgeglichen
wurden...

Ahoi!
DIetmar
 

css-umsetzung

Offizieller Servicepartner
SPBanner
6. Juli 2011
4.507
695
Berlin
Ich dachte eigentlich mit dem Setting läuft es jetzt gut.... scheinbar ist aber irgendwo noch der Wurm drin. Gerade hat das Tool eine Mail geschickt mit folgendem Inhalt:

Den Anhang 31952 betrachten

Ich hab direkt mal auf der Datenbank geschaut, da sieht der Worker gut aus:
Den Anhang 31953 betrachten

Das sind meine Einstellungen aus dem Tool:
Den Anhang 31954 betrachten

Warum kam die obige Mail? Sieht doch eigentlich alles gut aus?
Hattest du in dem Script diese Änderung vorgenommen?

https://forum.jtl-software.de/threads/worker-ueberwachung.94039/page-4#post-640629
 
  • Gefällt mir
Reaktionen: thowi

thowi

Gut bekanntes Mitglied
8. Juni 2018
373
43
Nee, ich hatte es so genommen wie von deiner Seite. Danke für den Hinweis, hab ich geändert und warte dann mal ab :D top!
 

JohnFrea

Gut bekanntes Mitglied
21. September 2017
166
21
Hier mal meine Lösung zu dem Thema.

Nachfolgende .bat Datei wird per Windows Aufgabenplanung alls 2 Stunden ausgeführt.

Es wird geprüft, ob ein Worker läuft.
Wenn ja, bekommt er einen sanften Taskkill, um korrekt beendet zu werden und eine Karenzzeit.
Danach wird er hart per Taskkill beendet und nach einer Karenzzeit neu gestartet.

Das funktiniert bei uns seit Jahren problemlos. Datenbankprofil, User, Passwort, Mandant dürfen keine Leerzeichen enthalten.

Code:
@ECHO OFF

color cf
mode con lines=13 cols=70
set var wkilled=0
set var softendtried=0


:StartSkript
    cls
    ECHO. Skript startet und beendet alten Worker...
    timeout /t 5


:Check-Worker
    tasklist /FI "IMAGENAME eq JTL-Wawi.exe" 2>NUL | find /I /N "JTL-Wawi.exe">NUL
    if "%ERRORLEVEL%"=="0" goto End-Worker-Soft
    goto Start-Worker
    
    
:End-Worker-Soft:
    If "%softendtried%" == "1" goto Kill-Worker
    Cls
    Echo. Alter Worker gefunden...beende soft...
    timeout /t 3
    taskkill.exe /IM JTL-Wawi.exe
    Echo. Worker Zeit zum beenden lassen...
    Timeout /t 300
    set softendtried=1
    goto StartSkript
    
    
:Kill-Worker
    cls
    ECHO. Alter Worker schließt nicht...hart beenden
    timeout /t 5
    taskkill.exe /IM JTL-Wawi.exe /F
    set wkilled=1
    goto StartSkript


:Start-Worker
    cls
    ECHO. Kein alter mehr Worker gefunden...Starte neuen Worker nach Karenzzeit...
    IF "%wkilled%" == "1" (
        timeout /t 240
    )
    START "" /D "C:\Program Files (x86)\JTL-Software\" "C:\Program Files (x86)\JTL-Software\JTL-wawi.exe" WORKER DeinDatenbankProfil DeinWawiUser DeinWawiUserPasswort DeinMandant 0


EXIT
 

itbrockmann

Mitglied
10. Oktober 2019
13
2
Schaumburg
Ja, musste alles in den settings oben von <> auf "" geändert werden (und reicht sogar, nur die WaWI Instanz anzugeben, ohne host/ip/port) jedoch krieg ich jetzt:


Code:
Sqlcmd: 'eazybusiness".dbo.tWorkerInfo where  ((DATEDIFF(minute,dShopStart,getdate()) > 1 OR dShopEnde IS NULL) AND 1 > 0)    OR ((DATEDIFF(minute,dEbayStart,getdate()) > 1  OR dEbayEnde IS NULL)   AND 1 > 0 )   OR ((DATEDIFF(minute,dAmazonStart,getdate()) > 1  OR dAmazonEnde IS NULL)  AND 1 > 0 ) " ': Unerwartetes Argument. Geben Sie '-?' ein, um die Hilfe anzuzeigen.
fertig
Ja, ich hab zum Test absichtlich auf 1 Min. gestellt und einen Abgleich abgedreht.

Die LastStart.txt hat er mir erstellt, updated sie auch, jedoch ohne Inhalt.
Leider bei uns der selbe Fehler... hattet ihr damals das Problem dafür gefunden?
 

itbrockmann

Mitglied
10. Oktober 2019
13
2
Schaumburg
Wir haben das Problem nun selbst gefunden... für alle die ähnliche Probleme haben - hier die Lösung:

Bei uns durften weder <> noch "" in den Settings oben stehen. Komplett ohne funktioniert es nun bei uns fehlerfrei. Übrigens ebenfalls in Kombination mit GMail und Swithmail.
 
  • Gefällt mir
Reaktionen: Rico Giesler