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

DITH-Shop

Sehr aktives Mitglied
8. Juli 2013
2.774
195
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
835
267
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.774
195
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
835
267
@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.774
195
Ä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
Wawi Webshop Verknüpfung - JTL Worker, Bestelleingang bestätigen lassen JTL-Wawi 1.9 0
JTL Worker startet den REST API Server nicht mit JTL-Wawi 1.9 0
Neu BUG: Seit JTL 1.9.6.4 stürzen die Workflows im Worker wieder regelmäßig ab JTL-Wawi - Fehler und Bugs 2
JTL-Fulfillment Network Worker mit Fehlern beendet JTL-Wawi 1.9 2
Neu JTL Worker führt den Workflow nicht aus User helfen Usern - Fragen zu JTL-Wawi 0
Neu JTL-Worker als Windows-Dienst - wie macht Ihr das? User helfen Usern - Fragen zu JTL-Wawi 8
Beantwortet Worker 2.0 übernimmt neuen JTL-Shop (5.3.3) nicht in seine Abgleiche Onlineshop-Anbindung 2
Neu XAMPP, JTL Wawi -> Artikel werden nicht im Shop angezeigt. Allgemeine Fragen zu JTL-Shop 1
Neu Update Shop von 5.2 auf 5.3 und 5.4, Schritt 2: JTL-Shop-Dateien aktualisieren Installation / Updates von JTL-Shop 13
Neu Suchen Freelancer für Support JTL wawi und shop sowie Anbindung an die Markplätze Dienstleistung, Jobs und Ähnliches 1
Neu Etsy und JTL? Allgemeine Fragen zu JTL-Shop 0
In Diskussion EC-Kartenterminal als separates Stand-Alone-Gerät mit JTL POS betreiben Einrichtung / Updates von JTL-POS 1
Neu JTL GPSR Plugin, Herstellerdaten im Tab anzeigen lassen? Allgemeine Fragen zu JTL-Shop 1
Neu JTL Cloud Ecomdata PDF lokal speichern speichern Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 0
Neu Besten Hosting-Anbieter für Wawi und JTL-Shop Starten mit JTL: Projektabwicklung & Migration 4
Neu Spezielle Preise für Kundengruppen im JTL-Shop Allgemeine Fragen zu JTL-Shop 3
Unterstützung Update JTL Wawi JTL-Wawi 1.9 2
Neu JTL Connector Error: 20 - Invalid shop url. https://meineseite.com does not point to a shopware 6 instance Shopware-Connector 2
Neu DHL Retourenlabel Fehlermeldung in jtl wawi JTL-ShippingLabels - Fehler und Bugs 0
Neu Suche Anbieter für Erstellung einer eigenen Übersicht , da JTL Projektbörse fehlerhaft Eigene Übersichten in der JTL-Wawi 5
Neu JTL Profi / Freelancer gesucht für verschiedene kleinere Projekte (Daten Import/Export, Auswertung, Workflows usw.) Starten mit JTL: Projektabwicklung & Migration 1
Neu Emails senden aus der Wawi an Bestellungen via Gastkonto (JTL Wawi 1.5.55.5 / JTL Shop 4.05) Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 1
Neu update Jtl Wawi User helfen Usern - Fragen zu JTL-Wawi 4
Neu Wechsel von CFE Shop ( Hosting bei JTL) zu SE Installation / Updates von JTL-Shop 5
Neu JTL-Shop als B2B Shop konfigurieren Einrichtung JTL-Shop5 1
Neu JTL POS gibt Bestände nicht an Wawi User helfen Usern - Fragen zu JTL-Wawi 0
Neu Umsatzsteuer ID's - wie in JTL zu integrieren? User helfen Usern - Fragen zu JTL-Wawi 0
Neu JTL Blog: Beitragsbilder skalieren nicht – Lösungen gesucht Allgemeine Fragen zu JTL-Shop 4
Neu JTL POS - Epson TSE micro SD Karte für andere Drucker kompatibel? - Metapace T-3II JTL-POS - Fragen zu Hardware 2
Neu JTL WMS Lagerplätze erweitern Arbeitsabläufe in JTL-WMS / JTL-Packtisch+ 0
Änderung der Lieferadresse einer Verkaufsbestellung über die JTL-Wawi API JTL-Wawi 1.9 0
Probleme mit dem Abgleich von Amazon seit Update auf JTL-Wawi 1.964 JTL-Wawi 1.9 0
Neu JTL POS - mehrere Filialen - je Filiale eine Kasse im Dashboard in Wawi wird aber alles zusammen gefasst Allgemeine Fragen zu JTL-POS 1
Neu Änderung der Lieferadresse einer Verkaufsbestellung über die JTL-Wawi API User helfen Usern - Fragen zu JTL-Wawi 0
Neu Alternative für B2B Market gesucht – Kundengruppen und JTL-Connector WooCommerce-Connector 0
Neu Gesamtkosten Hosting JTL-Shop (Plus | SE) Starten mit JTL: Projektabwicklung & Migration 6
Neu Shopware 5 mit JTL-Version 1.9.6.3 oder höher. Gibt es Probleme? Shopware-Connector 4
JTL Wawi Kunden Kommentar hinzufügen, der auch im JTL Pos erscheint. JTL-Wawi 1.9 0
Neu GELÖST: JTL Shop Version 5.4: Bild-Kopierschutz eingebaut? Gelöste Themen in diesem Bereich 9
Neu Biete: Windows Server optimiert für JTL und MS SQL Standard Lizenz (8 Monate alt, 42% unter Neupreis) Dienstleistung, Jobs und Ähnliches 0
Neu GPSR werden im JTL Shop 4 nicht angezeigt Allgemeine Fragen zu JTL-Shop 8
Jtl Wawi 1.9.6.5 JTL-Wawi 1.9 13
Neu WARNUNG!!! Bug in JTL-Datenbankverwaltung bei "Bildsortierung reparieren" gefunden JTL-Wawi - Fehler und Bugs 0
Neu Abgleich mit JTL-Shop nur neue oder geänderte Bilder Onlineshop-Anbindung 9
Neu JTL-Shop Logout nach wenigen Minuten MFA / 2FA umgehen JTL-Shop - Ideen, Lob und Kritik 0
JTL Shipping: Artikelgewicht und Zusatzgewicht aus der Versandeinstellung wird nicht addiert JTL-ShippingLabels - Ideen, Lob und Kritik 2
Neu JTL Shop 5.3.x HTML Portlet gesucht / Tag Stripping im Rich Text Portlet deaktivieren Allgemeine Fragen zu JTL-Shop 4
Neu Bericht / Status E-Mails aus dem JTL Shop Allgemeine Fragen zu JTL-Shop 1
Neu PHP - MySQL Konfiguration am Server für JTL Shop 5 Allgemeine Fragen zu JTL-Shop 1
Otto-Anbindung über JTL Wawi und Produkt-Upload JTL-Wawi 1.9 0

Ähnliche Themen