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

things4it

Aktives Mitglied
17. Februar 2014
39
10
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

Mitglied
22. Februar 2021
76
15
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
39
10
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

Mitglied
22. Februar 2021
76
15
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
39
10
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

Mitglied
22. Februar 2021
76
15
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
39
10
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 Exporte der Auftragsgewichte falsch? JTL-Wawi - Fehler und Bugs 0
Neu Warum werden veraltete Inhalte immer wieder im Suchindex aufgeführt? Allgemeine Fragen zu JTL-Shop 5
Neu Versandkosten sind immer 0% Allgemeine Fragen zu JTL-Shop 0
Neu JTL Shop 5 Kritik! Konfigurator immer noch nicht überarbeitet! JTL-Shop - Ideen, Lob und Kritik 7
Neu Retoure anlegen immer mit Häkchen bei Versandkosten setzen & Bestand Buchen deaktivieren - möglich? User helfen Usern - Fragen zu JTL-Wawi 0
Neu Beim Shop abgleich kommt seit gestern immer eine Fehlermeldung mmit Interneterweiterung interner Fehler Onlineshop-Anbindung 10
Neu Artikeldatenbank immer nur ein Produkt? Oder Ebay und Amzon import Produkte doppelt drin lassen Arbeitsabläufe in JTL-Wawi 0
Neu Artikel duplizieren erzeugt immer diesen Fehler User helfen Usern - Fragen zu JTL-Wawi 7
Neu WMS Mobile immer wieder Fehler JTL-WMS / JTL-Packtisch+ - Fehler und Bugs 0
Neu Absender Adresse immer "nur" die E-Mail Adresse Servicedesk (Beta) 5
In Bearbeitung JTL-POS Customer Display - Zeilenpreis immer auf Menge 1 JTL-POS - Fehler und Bugs 2
Neu Immer noch keine einfache Preisübernahme der in der Wawi kalkulierten Preise eBay-Anbindung - Ideen, Lob und Kritik 0
In Bearbeitung Kartenzahlungen Zettle stimmen nicht immer (Differenz 1 cent) JTL-POS - Fehler und Bugs 1
Neu Warenkorb immer wieder leer, sobald der Browser geschlossen wird JTL-Shop - Fehler und Bugs 9
Neu Manuelle Beschaffungszeit wird immer automatisch auf 0 gestellt. JTL-Wawi - Fehler und Bugs 4
Neu Aktuelle Kateegorie immer ganz oben Templates für JTL-Shop 2
In Diskussion DPD Label immer 2 kg? JTL-ShippingLabels - Fehler und Bugs 16
Neu Artikel werden beim Upload immer erst gelöscht Shopware-Connector 0
Neu Amazon VCS abgemeldet, aber Rechnungserstellung in der WaWi immer noch blockiert User helfen Usern - Fragen zu JTL-Wawi 1
Neu Artikelbezeichnung auf Lieferschein immer in Deutsch Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 1
Neu SQL Abfrage zur welcher Box im WMS der Auftrag zugeordnet wurde Individuelle Listenansichten in der JTL-Wawi 0
Neu Workflow (SQL) zur Ausrechnung eine Werts über die Gesamtbestellung Arbeitsabläufe in JTL-Wawi 1
Neu JTL-Ameise CLI Verbindung zur Datenbank mit Powershell User helfen Usern - Fragen zu JTL-Wawi 0
Neu Nach Login im Shop zur Startseite weiterleiten Betrieb / Pflege von JTL-Shop 0
Neu Frage zur Umsetzung folgender Seiten Plugins für JTL-Shop 1
Neu Wunsch zur Kundensuche Servicedesk (Beta) 2
Neu JTL Search aus einem URL Verzeichnis führt zur 404 Fehlermeldung Allgemeine Fragen zu JTL-Shop 5
Neu Funktion zur Änderung der SessionID Allgemeine Fragen zu JTL-Shop 2
Beantwortet Vorkommissionierung - Wie kommt man zur 2. Pickliste Arbeitsabläufe in JTL-WMS / JTL-Packtisch+ 3
Neu Artikellink zur Produktseite des Herstellers Allgemeine Fragen zu JTL-Shop 2
Neu Shopware 6 - Abgleich von Belegen zur Bestellung Shopware-Connector 0
Neu Zuordnung Versandklasse zur Versandart Arbeitsabläufe in JTL-Wawi 2
Neu "Weiterleitung" einer erhaltenen Amazon Bestellungen an Dropshipping-Lieferanten zur Auslieferung an Endkunden - geht das? Amazon-Anbindung - Ideen, Lob und Kritik 3

Ähnliche Themen