Neu JTL Worker stoppen für AMEISE Import (oder für DB Backup, etc)

DITH-Shop

Sehr aktives Mitglied
8. Juli 2013
2.855
212
Moin,
ich finde zwar große Mengen an Anfragen wie man den Worker steuern (insbesondere stoppen) kann, aber keine funktionelle Lösung

Mein Problem:
Ich habe automatisierte AMEISE Importe die mehrmals täglich laufen müssen.
Ein Lieferant hat eine dermaßen große Datei (505000 Zeilen) das dieser Import lange dauert (knapp 50 Minuten). Dabei kommen sich Artikel die per Worker synchronisiert und per Import aktualisiert werden manchmal ins Gehege - immer wieder Deadlock-Opfer und der Import bricht ab.
So entstehen hier oft teure Überverkäufe weil Artikel (insbesondere die am Ende der Datei) nicht mehr korrekt geupdatet werden.

Bitte schafft eine Möglichkeit das der Worker, automatisiert, beendet werden kann (ohne per TASKKILL Schäden an der DB oder den Daten zu verursachen)
Idealer Weise ein Parameter das der Worker nicht läuft solange die AMEISE arbeitet.
bspw.
jtlwawi.exe WORKER stop user pass db


Oder Alternativ - wie ICH es in meinen Programmen mit konkurrierendem DB Zugriff handhabe:
=> Zugriff auf Datensatz gerade gesperrt - dann warte 1 Sekunde und versuche denselben Befehl erneut - nicht mehr gesperrt = alles gut, oder noch immer gesperrt, warte 2 Sek. und versuche denselben Befehl erneut (das Ganze immer weiter verlängert bis max 10 Sekunden). Sollte nach dieser Zeit (inzwischen ja fast eine Minute) die Sperre noch immer nicht aufgehoben sein, dann überspringe den Befehl und mache weiter mit dem nächsten Import.
Noch NIEMALS hatte ich eine Sperre die länger dauerte als 4 Sekunden

Ist kein Hexenwerk und verhindert beschädigte Daten, Abbrüche etc.
 
  • Gefällt mir
Reaktionen: SebiW

JohnFrea

Sehr aktives Mitglied
21. September 2017
893
284
Du mußt den Worker nicht hart per Taskkill beenden, sondern kannst im erstmal ein softes Taskkill senden. Das ist gleichbedeutend mit einem Beenden, wie es ein User machen würde. Erst wenn das über eine voreingestellte Zeit nicht fruchtet, kommt der harte Kill zum Einsatz.

Ich hänge mal ein Batch-Skript an, welches ich zum Automatischen Neustart eines Workers verwenden. Das kannst Du für Deine Bedürfnisse anpassen um am Ende die Ameise starten und nicht wie ich den Worker. Seiteneffekte: Eine normale Wawi wird auch beendet. Man kann leider nicht zwischen Wawi und Worker unterscheiden, weil es tatsächlich nur ein anderer Aufruf der wawi.exe ist.

Das Skript sucht aktuell auf einem Windows Server einen Worker, der im "UserAdmin" läuft. Wenn Du WIndows Server benutzt, muß Du auf Deinen User anpassen.
Soll das ganze auf einem Nicht-Server laufen, mußt Du die ausgeremten Zeilen benutzten...

Code:
@ECHO OFF

color cf
mode con lines=13 cols=70
set var wkilled=0
set var softendtried=0
set LogFile="C:\Users\Useradmin\Desktop\WorkerAutoStart-LogFile.txt"

echo %date:~-4%-%date:~-7,2%-%date:~-10,2%   %time:~-11,2%-%time:~-8,2%-%time:~-5,2% Skript starten>>%LogFile%

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


:Check-Worker
    REM *** Kill in einem "normalen" Windows
    REM tasklist /FI "IMAGENAME eq JTL-Wawi.exe" 2>NUL | find /I /N "JTL-Wawi.exe">NUL
   
    REM  *** Kill in einem Windows Server.
    tasklist /FI "IMAGENAME eq JTL-Wawi.exe" /FI "USERNAME eq UserAdmin" 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
    REM taskkill.exe /IM JTL-Wawi.exe
    taskkill /FI "IMAGENAME eq JTL-Wawi.exe" /FI "USERNAME eq UserAdmin"
    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
    REM *** Kill in einem "normalen" Windows
    REM taskkill.exe /IM JTL-Wawi.exe /F
   
    REM  *** Kill in einem Windows Server.
    taskkill /FI "IMAGENAME eq JTL-Wawi.exe" /FI "USERNAME eq UserAdmin" /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 Standard Worker Worker eazybusiness 0
    echo %date:~-4%-%date:~-7,2%-%date:~-10,2%   %time:~-11,2%-%time:~-8,2%-%time:~-5,2% Skript ferig>>%LogFile%

EXIT
 
Zuletzt bearbeitet:

DITH-Shop

Sehr aktives Mitglied
8. Juli 2013
2.855
212
Danke für das Skript - ich musste zwar einiges ausbauen das auf meinem Server 2016 Std. nicht lief, anderes rein nehmen,
aber es tut jetzt was es soll.

Ich denke aber, dass viele User hier ähnliche Probleme haben und ein Start/Stop Parameter für den Worker von Vorteil sein könnte.
 

JohnFrea

Sehr aktives Mitglied
21. September 2017
893
284
@DITH-Shop kannst Du Dein Skrtip mal posten? Die Änderungen interessieren mich auch.

Problem an einem Start/Stop Aufruf an den Worker ist eben dessen Trägheit. Es dauert noch eine Weil, bis er abbricht und wie willst Du da die Rückmeldung bekommen? Ebenfalls den Prozess überwachen? Und wenn er abgestürtzt ist und auf Dein Parameter nicht mehr reagiert?
 

DITH-Shop

Sehr aktives Mitglied
8. Juli 2013
2.855
212
Ähm, ich habe das direkt in meine Ameisen-Aufrufe eingebaut und beinhalten auch die ganzen Import / Export Parameter.. ist also eher nicht geeignet hier gepostet zu werden.

Eine erfolgreiche Rückmeldung liesse sich programmtechnisch ( WAWI) lösen und abfragen (CMD).
Wird auch erst dann gesetzt wenn der Befehl erfolgreich ausgeführt wurde.
bspw. Rueckmeldung = EXEC "WAWI.exe WORKER user pass DB STOP"
gibt 1 zurück sobald derr Worker beendetist. CMD läuft dann erst weiter

Geht aber hier zu weit.
 
Ähnliche Themen
Titel Forum Antworten Datum
Neu Welche URLs/Ports werden für den JTL Worker benötigt? User helfen Usern - Fragen zu JTL-Wawi 8
Neu Keine automatische Übernahme von Änderungen in JTL trotz Abgleich? Onlineshop-Anbindung 3
Neu JTL-POS Absturz nach Benutzeranmeldung JTL-POS - Fehler und Bugs 0
Fehler beim Verknüpfen von JTL-FFN mit Wawi – „Anmeldung nicht möglich“ JTL-Wawi 1.11 1
Neu Dokumentation: Kundenverknüpfung JTL-Wawi (Version 1.10.15.0) zu JTL-Shop JTL-Shop 5.2 Onlineshop-Anbindung 0
Einzelartikel als Kindartikel zu einem neuen Vaterartikel zusammenführen (JTL-Wawi + Shopware Connector) JTL-Wawi 1.8 0
Neu Handhabung JTL Wawi - zu Datev Unternehmen Online User helfen Usern - Fragen zu JTL-Wawi 1
Neu JTL-Wawi Aufträge die mit JTL-POS bezahlt wurde tauchen im Tagenabschluss auf JTL-POS - Fehler und Bugs 7
Neu JTL Coupon - Rabatt direkt am Artikel Allgemeine Fragen zu JTL-Shop 0
Neu Preisfehler Anzeige JTL Shop 5 JTL-Shop - Fehler und Bugs 1
Neu 🚀 Pilotkunden gesucht: HS Dynamic Pricing Plugin für JTL-Shop Plugins für JTL-Shop 0
Neu Werden Bilder aus shopify in JTL geladen? Shopify-Connector 4
Neu Bitte legen Sie eine Retoure in JTL-Wawi an, damit eine korrekte Zuordnung zu den Stücklistenartikeln möglich ist. - WMS Retoure JTL-WMS / JTL-Packtisch+ - Fehler und Bugs 0
Neu JTL-Ameise Export "Artikeldaten WEEE-Richtlinie" - unvollständige Datenmenge JTL-Ameise - Fehler und Bugs 0
Neu Probleme bei WooCommerce JTL-Connector, keine Aktivierung möglich, Bestands-Shop lahmgelegt Onlineshop-Anbindung 0
Neu Kapazitäten frei für Routineaufgaben JTL Wawi Dienstleistung, Jobs und Ähnliches 0
Neu 🚀 JTL Shop Performance Check (Free): Kostenloses Plugin Plugins für JTL-Shop 0
Datenabgleich von WooCommerce auf JTL Wawi 1.9.7.0 JTL-Wawi 1.9 0
JTL WMS Server startet nicht JTL-Wawi 1.11 2
JTL Wawi to ShopApotheke Artikelname eigenesfeld JTL-Wawi 1.11 16
Neu Downgrade von 3 JTL-Shop-Lizenzen auf 1 – Frage zur Umstellung der Domains User helfen Usern - Fragen zu JTL-Wawi 1
Neu JTL SHop 5.4 KAtegoriebild Allgemeine Fragen zu JTL-Shop 5
Neu Trainingsmodus für JTL-POS gewünscht JTL-POS - Ideen, Lob und Kritik 0
JTL-Stammtisch am 13.11.25 in Bonn powered by SaphirSolution Messen, Stammtische und interessante Events 0
Neu Wer hat 2025 mit Xentral Erfahrungen gesammelt? Wechsel von JTL‑Wawi in Sicht Smalltalk 9
JTL Wawi und JTL-POS gleichen nicht mehr ab JTL-Wawi 1.11 2
Neu JTL Theme Editor Templates für JTL-Shop 6
Neu 2 Instanzen JTL-POS Einrichtung / Updates von JTL-POS 0
Neu Übergabe Versandlaber an Fulfiller möglich über FFN standallone aber nicht über FFN mit angebundeener JTL-WAWI Arbeitsabläufe in JTL-Wawi 0
Ticket erstellen bei einer Fehlermeldung mit JTL-Start ??? JTL-Wawi 1.9 6
Neu JTL Track&Trace API Fehler derzeit? seit 15:50 Uhr JTL-Track&Trace - Fehler und Bugs 2
Neu JTL Shipping Server nicht erreichbar JTL-ShippingLabels - Fehler und Bugs 19
Neu Welcher Hoster ist für JTL-Shop 5 empfehlenswert? User helfen Usern 12
Neu 15 Jahre Vapsmoke.ch – unser Weg zu JTL Shops stellen sich vor 1
Neu JTL STAMMTISCH BONN – 13.11.2025 – powered by SaphirSolution Messen, Stammtische und interessante Events 0
JTL Plattform ebay Designvorlage JTL-Wawi 1.11 5
Neu Aktuellen JTL Shop installieren *Fehler* Installation / Updates von JTL-Shop 0
Studio-Webcast E-Com Insights mit JTL: Black Friday Edition am 30.10.25 Messen, Stammtische und interessante Events 0
JTL Wawi API beendet Registrierung nicht 1.11.1 JTL-Wawi 1.11 10
Neu Fehlerhafte Adress-Übernahme durch NinePoint (Mirakl → JTL) – wer ist noch betroffen? JTL-Wawi - Fehler und Bugs 3
Neu JTL Shop Versand Preisstaffel mit negativen Werten?? Allgemeine Fragen zu JTL-Shop 0
Jtl-Amz Problem JTL-Wawi 1.9 0
Neu Dropshipping Import/Export von JTL zu JTL User helfen Usern - Fragen zu JTL-Wawi 6
Keine Anmeldung mehr möglich in JTL Wawi seit Update? JTL-Wawi 1.11 5
JTL-Wawi stürzt beim Speichern des Shopify-Connectors jedes Mal ab JTL-Wawi 1.11 0
Neu JTL Shop - OSS - Länderauswahl notwendig ?! JTL-Shop - Ideen, Lob und Kritik 1
Neu Umzug von Shopify auf JTL Umstieg auf JTL-Shop 1
Webinar JTL + eBay: Dein Shortcut zu besseren Automatisierungen & mehr Verkäufen am 06.11.25 Messen, Stammtische und interessante Events 0
Neu JTL Shop Brevo Plugin meldet keine Abmeldungen an JTL Shop + Kontakte landen nicht in der Willkommenssequenz Plugins für JTL-Shop 0
Neu Suche Freelancer für Aufsetzen JTL B2B Shop Dienstleistung, Jobs und Ähnliches 3

Ähnliche Themen