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
 

arturmeerzon

Mitglied
22. Februar 2021
67
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 :(.
 

arturmeerzon

Mitglied
22. Februar 2021
67
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?
 

arturmeerzon

Mitglied
22. Februar 2021
67
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 Einzelne Artikel sperren für die Exporte für Preissuchmaschinen User helfen Usern - Fragen zu JTL-Wawi 4
Neu Aktuelle Kateegorie immer ganz oben Templates für JTL-Shop 0
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 0
Neu Artikelbezeichnung auf Lieferschein immer in Deutsch Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 1
Neu JTL Worker stürzt immer wieder sporadisch ab JTL-Wawi - Fehler und Bugs 1
Neu Strassenname letzter Buchstabe fehlt immer wieder JTL-Shop - Fehler und Bugs 1
Neu @ErstelleAuftrag erstellt immer bezahlte Aufträge Fragen rund um LS-POS 0
Neu Bilder müssen immer wieder neu generiert werden Allgemeine Fragen zu JTL-Shop 1
Neu Lieferantenbestellung immer als Gebinde User helfen Usern - Fragen zu JTL-Wawi 2
Neu JTL Shop 5 - Merkmalfilter immer ausgeklappt darstellen Allgemeine Fragen zu JTL-Shop 2
Neu Amazon Bestand immer verfügbar ->Workflow? Arbeitsabläufe in JTL-Wawi 1
Neu JTL-Hosting: Mails immer öfter als Spam deklariert. Betrieb / Pflege von JTL-Shop 18
Immer noch Top-Seller ohne Preisuntergrenze?!? Einrichtung JTL-Shop5 1
Neu JTL FFN - immer wieder Fehler bei Übertragung JTL-Wawi - Fehler und Bugs 0
Neu JTL berechnet immer noch 16% Mwst. trotz korrekter Umstellung User helfen Usern - Fragen zu JTL-Wawi 3
Neu Multishop Abgleich - Bestellungen werden aus einem Shop immer dem gleichen Kunden zugeordnet Gambio-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
Neu Variablen von Kategoriename und Url auf Herstellerseite zur Verfügung stellen Templates für JTL-Shop 2
Neu Verknüpfung von DB-Tabellen in SQL-Abfrage für Retouren zur Ermittlung des Kunden User helfen Usern - Fragen zu JTL-Wawi 1
Neu Bruttopreise als Preisbasis zur Berechnung der MWSt. User helfen Usern - Fragen zu JTL-Wawi 9
Neu OTTO Anbindung - Dauer Abgleich zur Artikelanlage Schnittstellen Import / Export 0
Neu Alternative zur emarketing.com Business Jungle 0
Neu Versandlabel soll zur Sicherheit als ein PDF Dokument erzeugt und auf bestimmten Pfad gespeichert werden User helfen Usern - Fragen zu JTL-Wawi 1
Neu Frage zur 1.5.45.0 User helfen Usern - Fragen zu JTL-Wawi 0
In Diskussion Workflow zur Provisionsberechnung JTL-Workflows - Fehler und Bugs 9
Gelöst Verbindung zur Wawi funktioniert nicht mehr JTL-POS - Fehler und Bugs 4
Neu Unfall passiert ... Kann mir jemand die Original TPL Dateien NOVA Shop 5 zur Verfügung stellen Allgemeine Fragen zu JTL-Shop 3

Ähnliche Themen