Neu Stapelverarbeitung mit Cronjob

  • 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!

fhinok

Aktives Mitglied
9. September 2021
5
0
Hallo zusammen

Ich versuche gerade, mit einem Cronjob einen API-Endpunkt eines Fremdsystems mit allen Artikeln (ca. 30'000) des Shops zu beliefern.
Laut der Dokumentation sollte der Cronjob solange zyklisch aufgerufen werden, bis setFinished(true) gesetzt wurde. (Link zum Guide)
Der Code wird jedoch nur einmal gestartet und die Ausführung des Cronjobs im Anschluss beendet, selbst wenn ich mit setFinished(false) eine Endlosausführung provoziere.

Wenn ich in die Methode get_collection() einen Loop einbaue, erhalte ich, eine Execution Timeout und der Cronjob wird nie als beendet markiert, da die Datenmenge zu gross ist.

Die Cronausführung stosse ich mit https://shop.local/includes/cron_inc.php an. Für die Pluginentwicklung nutze ich aktuell die Version 5.3.0-rc.2.
Der entsprechende Code sieht so aus:

PHP:
class MyCron extends Job
{ 
    public function start(QueueEntry $queueEntry): JobInterface
    {
        parent::start($queueEntry);
        $res = $this->get_collection(ProductModel::class, 'product');
        $this->setFinished($res);
        return $this;
    }
    
    public function get_collection(string $modelClass, string $index): bool
    {
        /** Hole x Artikel aus der Datenbank */
        /** Wenn Cursor noch nicht am Ende: return false */
        return false;
    }
}

Leider stimmt der Inhalt Demo-Plugins nicht mit der Dokumentation überein, das hilft mir auch nicht weiter.

Deshalb meine Frage: Interpretiere ich da die Dokumentation falsch oder übersehe ich was bei der Implementierung?
 

FMoche

Moderator
Mitarbeiter
15. Dezember 2014
1.369
345
Halle (Saale)
Inwiefern stimmt das Demo-Plugin nicht mit der Doku überein?
Das setFinished() bestimmt nur, ob beim nächsten Start des Crons der Job erneut gestartet wird oder nicht - nicht wie lange der Job läuft.

Wenn du also jedes mal setFinished(false) setzt, wird der Job beim nächsten Aufruf der includes/cron_inc.php erneut aus der Datenbank geladen und weitergeführt - solange bis du da TRUE setzt.
 

fhinok

Aktives Mitglied
9. September 2021
5
0
Inwiefern stimmt das Demo-Plugin nicht mit der Doku überein?
Sorry, ich hatte da beim Schreiben irgendwas Falsches im Kopf und nicht mehr kontrolliert: Das Registrieren des Jobs wird im Demoplugin direkt mit einem Eintrag in die Datenbank realisiert, in der Doku wird aber der Weg über den Controller beschrieben.
Macht ja aber eigentlich keinen grossen Unterschied.

Das setFinished() bestimmt nur, ob beim nächsten Start des Crons der Job erneut gestartet wird oder nicht - nicht wie lange der Job läuft.

Wenn du also jedes mal setFinished(false) setzt, wird der Job beim nächsten Aufruf der includes/cron_inc.php erneut aus der Datenbank geladen und weitergeführt - solange bis du da TRUE setzt.
Alles klar, dann habe ich da etwas falsch interpretiert. Dann werde ich das auf eine andere Art umsetzen.

Danke für die Klärung.
 
Ähnliche Themen
Titel Forum Antworten Datum
Onlineshop Suchbegriffe Such-Schlagwörter mit Shopware 6 JTL-Wawi 1.9 0
Neu Mitarbeiter mit schlechten Kundenumgang Starten mit JTL: Projektabwicklung & Migration 9
Neu Falsche Preisübermittlung von Brutto/Netto Preisen mit JTL Connector zu Shopify Onlineshop-Anbindung 0
Neu Mehrere DHL Versenden 3.0 Instanzen mit unterschiedlichen Accounts möglich? JTL-ShippingLabels - Ideen, Lob und Kritik 3
Neu Einem Kunden eine Rechnung mit individuellem Betreff per E-Mail zusenden User helfen Usern - Fragen zu JTL-Wawi 2
Artikelzustand wird doppelt und mit doppeltem Suffix erzeugt JTL-Wawi 1.9 3
Neu Abgleich Probleme mit Woocommerce und Jtl-Conncetor WooCommerce-Connector 0
Neu Google Search Console: 5xx-Fehler für nicht indexierte Seiten mit URL-Parametern – Warum? Betrieb / Pflege von JTL-Shop 3
Neu Megamenü mit Bilder der eigenen Seiten Technische Fragen zu Plugins und Templates 2
Neu Verknüpfung mit Hornbach eBay-Anbindung - Ideen, Lob und Kritik 1
Neu Artikel Upload Probleme mit Wawi Version 1.9.6.5 und B2B Market Plugin WooCommerce-Connector 6
Beantwortet Wunschzettel buggy - doppelt und überlappt mit Footer JTL-Shop - Fehler und Bugs 3
Artikel mit Unterstrich werden nicht angezeigt JTL-Wawi 1.9 7
Neu Reparaturen mit Berechnung von Ersatzteilen Arbeitsabläufe in JTL-Wawi 5
Neu Fehler: Eine Bestellung wird nicht mit Wawi synchronisiert JTL-Shop - Fehler und Bugs 2
In Bearbeitung Gesucht: EC Kartenlesegerät welches stabil mit der JTL POS App funktioniert JTL-POS - Fragen zu Hardware 5
Neu Probleme mit Kauflizenzen und Tariflizenz – Unklarheiten und fehlende Nutzungsmöglichkeiten Allgemeine Fragen zu JTL-Shop 7
Rechnungsformular wie USt.ID.Nr. des Kunden mit einbinden JTL-Wawi 1.9 1
Neu Exteme Probleme mit SEO Allgemeine Fragen zu JTL-Shop 10
Artikel bekommt neue EAN - Wie mit Produktgenerationen umgehen? JTL-Wawi 1.9 0
Probleme mit dem Anlegen von Herstellern seit Update auf Version 1.9.7.0 JTL-Wawi 1.9 5
Eigenes Feld auf Auftragsbestätigung ausgeben und den Titel mit dem eigenen Feld verknüpfen JTL-Wawi 1.9 0
Eigenes Feld auf Lieferschein ausgeben und den Titel mit dem eigenen Feld verknüpfen JTL-Wawi 1.9 0
Neu Vorlage Mail an DHL mit - Sendungsnummer im Betreff User helfen Usern - Fragen zu JTL-Wawi 5
Gelöst Workflow Auftrag mit Positionsabfrage geht nicht, wegen Textposition für den Versand JTL-Workflows - Ideen, Lob und Kritik 1
Neu Paket ins Ausland kommt zurück - wie macht Ihr das denn mit den zweiten Versandkosten? User helfen Usern - Fragen zu JTL-Wawi 3
E-Rechnung-Webinar: Dokumentenmanagement optimieren mit GREYHOUND Messen, Stammtische und interessante Events 0
E-Rechnung-Webinar: Dokumentenmanagement optimieren mit GREYHOUND Messen, Stammtische und interessante Events 0
E-Rechnung-Webinar: Dokumentenmanagement optimieren mit GREYHOUND Messen, Stammtische und interessante Events 0
E-Rechnung-Webinar: Dokumentenmanagement optimieren mit GREYHOUND Messen, Stammtische und interessante Events 0
E-Rechnung-Webinar: Dokumentenmanagement optimieren mit GREYHOUND Messen, Stammtische und interessante Events 0
E-Rechnung-Webinar: Dokumentenmanagement optimieren mit GREYHOUND Messen, Stammtische und interessante Events 0
Problem mit Rückbuchung im Zahlungsmodul JTL-Wawi 1.9 1
Neu Probleme mit dem Encoding / Umlauten Betrieb / Pflege von JTL-Shop 2
Neu Schweiz - Probleme mit Netto-/Bruttobeträgen und Steuerhandling bei Amazon Marketplace Facilitator in JTL-Wawi Amazon-Anbindung - Fehler und Bugs 3
Neu Artikelettikett drucken mit Eigenen Feldern aus dem Reiter Allgemein User helfen Usern - Fragen zu JTL-Wawi 2
Gelöst Proxmox mit Android x86 Version 8.1 JTL-POS - Fragen zu Hardware 2
Neu Problem mit der Verbindung von JTL-Wawi (1.5.48.2) und WooCommerce (Version 9.5.2) User helfen Usern - Fragen zu JTL-Wawi 0
Rechnung mit Rechnungskorrektur begleichen JTL-Wawi 1.9 2
Neu Nachforschungaufträge der DPD mit Worker automatisieren JTL-ShippingLabels - Fehler und Bugs 0
Neu 🛒𝐍𝐞𝐮𝐞𝐬 𝐏𝐥𝐮𝐠-𝐈𝐧: Eigene Lösung für Rechnungskauf mit Bonitäts- & Betrugsprüfung direkt im Check-out - JTL5? Plugins für JTL-Shop 4
Neu Anteiliger Umsatz mit Shopguthaben wird in Bestellung nicht richtig dargestellt Allgemeine Fragen zu JTL-Shop 0
Neu 1 Lager, mit zwei Lagerbeständen von zwei Firmen User helfen Usern - Fragen zu JTL-Wawi 8
SEO Indexierungsproblem mit Duplikaten (Indexierte Kinderartikel) JTL-Wawi 1.9 1
Neu Verwaltet Greyhound mit WaWi 1.9 auch die Lieferanten, oder nur Kunden? User helfen Usern - Fragen zu JTL-Wawi 4
E-Rechnung-Webinar: Dokumentenmanagement optimieren mit GREYHOUND Messen, Stammtische und interessante Events 0
In Bearbeitung Probleme mit Rabatten bei Umstellung auf JTL POS JTL-POS - Fehler und Bugs 3
Neu Artikel bei Amazon neu Listen mit "Neuer" ASIN Amazon-Lister - Ideen, Lob und Kritik 0
Neu Probleme mit JTLShippingLabels und DPD JTL-ShippingLabels - Fehler und Bugs 0
Neu Produktion von Artikeln mit Seriennummer JTL-Plan&Produce - Ideen, Lob und Kritik 0

Ähnliche Themen