Neu Exporte immer zur konfigurierten Zeit ausführen anstatt nach Schema "Fixed-Delay"?

  • Hinweis: Am 25.02.2025 zwischen 21:30 u. 22:30 Uhr - Einschränkungen beim Login und Erreichen folgender Dienste: FFN, Kundencenter, Admin, JTL-Shop, JTL-Wawi, Lizenzserver, ISI Gateway, Vouchers, Kassensysteme, Plan&Produce, Versand. Grund dafür ist ein Major Upgrade des OAuth-Dienstes. Vielen Dank für euer Verständnis!

things4it

Aktives Mitglied
17. Februar 2014
60
13
Hallo,

wenn ich es richtig verstehe werden die Exporte nach dem Schema "FixedDelay" generiert.

Also habe ich z.B. den Google-Shopping-Export auf 0:00 Uhr, Intervall 24 Stunde konfiguriert, wird er nur bei der ersten Ausführung um 0:00 Uhr gestartet.
Endet der Export am 01.01.2021 um 1:24 Uhr, startet der nächste Export am 02.01.2021 um 1:24 Uhr (01.01.2021 1:24 + 24 Stunden)

Sprich der Export verschiebt sich Tag für Tag.

Aber gerade für Exporte, wo eine Gegenseite (in dem Fall google-shopping), den Export zu einer bestimmten Uhrzeit abholt, ist das ja etwas doof.
Vorallem dann wenn man wie bei google-shopping einen Feed nur einmal am Tag abholen kann.
Sprich man importiert dort dann veraltete Preise und Bestände und zahlt ggf. für Shopping Kampagnien, obwohl die Artikel seit einem oder mehreren Tagen nicht mehr verfügbar sind.
Wir haben zwar ein Plugin in Testphase, was stündlich die Preise und Bestände der geänderten Artikel via API an google-shopping meldet, aber dessen Aktualisierungen werden natürlich auch mit dem veralteten Export überschrieben :(.

Die einzige dreckige Lösung die mir als JTL- Shop newbee einfällt, ist via SQL und crontab das Datum des letzten Starts (tcron#lastStart) zurück zu setzen - aber das ist mega der hack.

Daher ein paar doofe Fragen:
  • Gibt es dafür andere/saubere Lösungen?
  • Bin ich/wir einfach nur zu doof das richtig einzustellen oder habe das verhalten und den Core-Code falsch interpretiert?
  • Ist dafür ein Feature geplant über den man ein cron immer zur selben Zeit ausführen kann, also nicht die "FixedDelay" variante (wäre super wenn von JTL dazu jemand was sagen kann)
    • Fixed Delay macht ja definitiv Sinn, aber bei gewissen Exporten ist es halt eher ein Nachteil

Danke und viele Grüße
Johannes
 

artm

Sehr aktives Mitglied
22. Februar 2021
107
26
Also habe ich z.B. den Google-Shopping-Export auf 0:00 Uhr, Intervall 24 Stunde konfiguriert, wird er nur bei der ersten Ausführung um 0:00 Uhr gestartet.
Endet der Export am 01.01.2021 um 1:24 Uhr, startet der nächste Export am 02.01.2021 um 1:24 Uhr (01.01.2021 1:24 + 24 Stunden)
Ehrlich gesagt, die Bezeichnung "Cron-Job" bei JTL Shop ist eine Verwirrung für mich, es sollte Aufgabenplaner oder Task Planner heißen,
im Wirklichkeit hat man keinen Cron-Job, die Auslöser sind Nutzer und Bots. Ich denke Grund dafür waren Shop Nutzer, die keinen Einfluss auf Hosting hatten.

Am besten erstellt man einen echten Cron-Job an, dann sollten die Exporte richtig laufen.
 

things4it

Aktives Mitglied
17. Februar 2014
60
13
Am besten erstellt man einen echten Cron-Job an, dann sollten die Exporte richtig laufen.
die /includes/cron_inc.php wird bei uns wie von JTL empfohlen via crontab getriggert (falls du das meinst).
Ist also unabhängig von den Usern und hat keinen Einfluss auf die Verschiebung.

Die Selektion der Cron die gestartet werden erfolgt via folgendem SQL aus includes/src/Cron/Checker.php:82

SQL:
SELECT tcron.*
FROM tcron
LEFT JOIN tjobqueue
    ON tjobqueue.cronID = tcron.cronID
WHERE (
    tcron.lastStart IS NULL
    OR IF(tcron.jobType = 'statusemail' AND tcron.frequency = 720,
            MONTH(tcron.lastStart) = MONTH(CURRENT_DATE - INTERVAL 1 MONTH),
            (NOW() > ADDDATE(tcron.lastStart, INTERVAL tcron.frequency HOUR))
        )
    )
    AND tcron.startDate < NOW()
    AND tjobqueue.jobQueueID IS NULL

Wenn ich da nicht komplett falsch geschaut habe ist es schon "by design" so das sich das immer verschiebt :(.
 

artm

Sehr aktives Mitglied
22. Februar 2021
107
26
Wenn crontab wirklich läuft und Startzeit immer verschoben wird, dann klingt das definitiv nach einem Bug.
Habe Shop "Cron-Jobs" nicht ausprobieren, aber das würde mich auch interessieren.
 

things4it

Aktives Mitglied
17. Februar 2014
60
13
ja ich denke ein Bug ist es nicht, ist ja für Cron-Jobs die häufiger wie einmal am Tag laufen und etwas länger dauern ganz sinnvoll damit die sie nicht überschneiden ... .

Aber ja für den Fall google-shopping ist es nicht so praktisch.

Naja, wir behelfen uns jetzt folgendem SQL, das via crontab vom Betriebsystem ausgeführt wird:
SQL:
UPDATE tcron SET
        lastStart = concat(DATE(lastStart), ' ', startTime)
WHERE
        cronID = 122 # id des Google-Shopping crons

Ist halt hacky die Tabelle zu manipulieren, vllt. hat ja jemand eine bessere Lösungen?
 

artm

Sehr aktives Mitglied
22. Februar 2021
107
26
Habe nicht verstanden, was du mit Überschneidung meinst und was dabei sinnvoll ist, wenn ich alle Jobs um selbe Uhrzeit auf einmal starte, dann sollten diese in der Warteschlange stehen oder nicht, dafür ist doch die Tabelle "tjobqueue" da, die Startzeit-Verschiebung für Cron-Job klingt für komplett unlogisch :)

Ich würde eher prüfen wieso dauert der Export so lange. Um wie viele Einträge handelt es hier, dass Cron-Job allein über 1:30 Std. benötigt.

Diese Konstante müssten Cron-Prozess beschleunigen, aber man muss natürlich wissen, welche Ressoursen der Server verfügt:

Code:
define('JOBQUEUE_LIMIT_M_EXPORTE', 100000);
define('JOBQUEUE_LIMIT_JOBS', 30);
 

things4it

Aktives Mitglied
17. Februar 2014
60
13
Ich würde eher prüfen wieso dauert der Export so lange. Um wie viele Einträge handelt es hier, dass Cron-Job allein über 1:30 Std. benötigt.

Sind halt an die 170000 Artikel. JOBQUEUE_LIMIT_M_EXPORTE haben wir schon von glaube ich 500 auf 2000 hochgedreht, aber da geht sicher noch mehr.
Das der 1,5 Stunden braucht ist an sich nicht tragisch. Aber ja durch eine Beschleunigung vom Export wäre die Verschiebung nicht so drastisch.

Naja ich belass es mal bei dem dirty fix^^.

Vllt. hat ja jemand von JTL noch eine Info ob das jetzt eher ein Bug oder ob das bewusst so sein soll?
Oder einfach ein Bug- Ticket/Feature-Request erstellen?
 
Ähnliche Themen
Titel Forum Antworten Datum
Neu JTL Shop 5.3.X - Fehlerhafte Artikellinks bei Export über Exporte-Manager JTL-Shop - Fehler und Bugs 1
Neu Zuordnung von Amazon-SKU gehen immer wieder mal verloren JTL-Wawi - Fehler und Bugs 1
Neu Erstes Versandetikett nach Einschalten von Drucker immer leer JTL-WMS / JTL-Packtisch+ - Fehler und Bugs 6
WawiPrintLog immer um 11 Uhr. JTL-Wawi 1.9 1
Änderungen in Formularen werden nicht immer gespeichert JTL-Wawi 1.9 12
Rechnungsexport - es fehlen immer Rechungen JTL-Wawi 1.9 10
Neu "Einheit Bezugsmenge" wird nicht immer exportiert und kann gar nicht importiert werden JTL-Ameise - Fehler und Bugs 4
Neu "Rechnung erstellen" > "Ohne Vorschau mit Ausgabe" kann nicht komplett abgebrochen werden: eine Rechnung wird immer erstellt! JTL-Wawi - Fehler und Bugs 0
Neu Artiel duplizieren Verkaufskanal-Feldwerte-Haken IMMER gesetzt JTL-Wawi - Fehler und Bugs 0
Lagerbestand im Vaterartikel je Lager stimmt nicht / ist immer 0 JTL-Wawi 1.8 6
Neu Artikel Bilder bei neuen Amazon Artikeln immer nur JTL Dummy Bild Amazon-Lister - Fehler und Bugs 1
Neu Artikel immer ohne Sonderpreis kopieren Arbeitsabläufe in JTL-Wawi 0
Neu Suche Servicepartner zur Marktplatzanbindung Dienstleistung, Jobs und Ähnliches 1
Neu JTL Druckvorlage zur Erstellung von Artikelstammdatenblättern im PDF Format Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 0
Neu Shop nur zur Angebotsanfrage nutzen / kein Bezahlvorgang Technische Fragen zu Plugins und Templates 2
Neu Feld zur eRechnung zufügen Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 6
Neu Vorlage zur Berichtigung von Rechnungen OHNE eine Rechnung zu STORNIEREN! Dienstleistung, Jobs und Ähnliches 0
Impressum: Link zur externen Seite Einrichtung JTL-Shop5 3
Rechnung Korrigieren -> Es existiert kein Auftrag zur Rechnung. JTL-Wawi 1.9 3
Neu Google Exportformat für Shopping hängt sich auf - Weder Cronjob noch manueller Anstoß führen zur Erstellung einer erfolgreiche .zip Datei Allgemeine Fragen zu JTL-Shop 5
Neu Artikel nur zur Ansicht in Shop ... ohne Kauf-Button Betrieb / Pflege von JTL-Shop 2
Neu WMS keine Verbindung zur Datenbank wenn Firewall an ist Installation von JTL-WMS / JTL-Packtisch+ 10
Neu Angaben zur Produktsicherheit verschieben Allgemeine Fragen zu JTL-Shop 0
GPSR Hilfe zur Selbsthilfe ohne 1.9.6 JTL-Wawi 1.9 15
Lagertyp Warenlager Dropshipping - Streckengeschäft- steht nicht zur Auswahl JTL-Wawi 1.9 0
Möglichkeit zur einfachen Hinzufügung von Mediendateien JTL-Wawi 1.7 0
Neu JTL-SHOP - Fragen zur Backend-Statistik-Auswertung für Besucher Allgemeine Fragen zu JTL-Shop 3
Neu JTL-Infoschreiben "Wichtige Neuerung im Postgesetz zur Kennzeichnungspflicht" - Umsetzung auch für Österreichische Post Labels ? JTL-ShippingLabels - Ideen, Lob und Kritik 2

Ähnliche Themen