Neu Stapelverarbeitung mit Cronjob

fhinok

Aktives Mitglied
9. September 2021
6
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
347
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
6
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
Neu kostenlos: DHL Sendungsverfolgung für JTL-Wawi – Web-Dashboard mit Frühwarnsystem Schnittstellen Import / Export 0
Neu Konfigurationsgruppe mit Auslesen Arbeitsabläufe in JTL-Wawi 1
Neu Ist es ohne Probleme möglich Cloudflare in der Free Version mit JTL zu nutzen? Allgemeine Fragen zu JTL-Shop 7
Neu Nach Wawi Update Probleme mit Rechnungsdrucker JTL-POS - Fehler und Bugs 4
Neu Mariadb 12 mit 5.7.1 Allgemeine Fragen zu JTL-Shop 0
Neu Pickliste mit maximaler SKU-Anzahl – gibt es eine Lösung? Arbeitsabläufe in JTL-WMS / JTL-Packtisch+ 4
Neu Mit Fehlern beendet - Object reference not set to an instance of an object. JTL-Track&Trace - Fehler und Bugs 0
ändern von Servernamen nach Neuinstallation von SQL und Verbindung mit neuem Server in der Wawi JTL-Wawi 2.0 2
Probleme mit Artikelansicht oder Verkauf, etc. JTL-Wawi 2.0 0
Fehler mit Zahlungsabgleich JTL-Wawi 1.11 9
Eigener Drittshop-Connector (jtl/connector 5.3): valide Variationskombinationen werden mit „besitzt keine Variationen" nicht gesendet JTL-Wawi 1.11 1
Neu Problem mit dem JTL-Connector – Invalid Shopify connection credentials. Shopify-Connector 3
Neu Arbeiten mit Lieferanten EKs - Workflows und SQL User helfen Usern - Fragen zu JTL-Wawi 6
Neu JTL Artikelanlage mit KI beschleunigen User helfen Usern - Fragen zu JTL-Wawi 2
Neu DHL 4.0 mit JTL-ShippingLabels funktioniert nicht JTL-ShippingLabels - Fehler und Bugs 2
Neu Amazon FBA Bestellungen doppelt mit _1 Amazon-Anbindung - Fehler und Bugs 3
Fehler beim Abgleich mit Amazon JTL-Wawi 2.0 10
Abgleich Amazon mit Fehlern beendet 1.11.08 JTL-Wawi 1.11 14
Rabatt Coupons in Verbindung mit Staffelpreisen - JTL 1.11.9, JTL Shop JTL-Wawi 1.11 0
Worker 2.0 starten mit deak. Abgleichen? JTL-Wawi 2.0 3
Fehler beim Abgleich mit dem JTL-Shop JTL-Wawi 2.0 12
Neu OnFinds: KI-Suche für JTL-Shop mit fairer Abrechnung nach Artikelanzahl. 30 Tage kostenlos testen Plugins für JTL-Shop 0
Neu Abrechnung / Auslieferung von Aufträgen mit Gutschriftverfahren Arbeitsabläufe in JTL-Wawi 3
Neu Dummy-ID oder Freiposition für Angebot mit mehrzeiliger Beschreibung JTL-Wawi - Ideen, Lob und Kritik 7
Neu JTL Shop 5.7.1 mit Fehlern - versandarten zahlungsarten nicht änderbar, leere weiße Seite JTL-Shop - Fehler und Bugs 5
JTL Ameise Lieferantenbestellung mit VPE importieren oder umrechnen JTL-Wawi 1.11 0
Jtl pos Einstellungen mit wiwa 2.02 JTL-Wawi 1.11 0
Anmeldung mit OAuth bei Versanddienstleister notwendig JTL-Wawi 1.10 5
Problem mit Hermes Österreich Sendungsnummern – Fehler beim Amazon-Abgleich in JTL-Wawi JTL-Wawi 1.10 0
Bestellabgleich mit JTL Wawi und WooCommerce 1h verzögert JTL-Wawi 2.0 0
Neu PayPal Käufername stimme nicht mit Liederadresse überein! Business Jungle 0
Neu 1.11.8 Auftagsimport mit Artikelnummern mapping JTL-Ameise - Fehler und Bugs 0
Neu Neuerdings E-Mail benachrichtigung bei "Pick up in Store", allerdings mit E-Mail "Bestellung wurde abgeholt" Shopify-Connector 0
Neu Abgleich mit Amazon Sendungsnummer / Rechnung Arbeitsabläufe in JTL-Wawi 0
Neu JTL-Wawi mit Claude, ChatGPT, Openclaw/Hermes oder CRM System verbinden User helfen Usern 2
Neu Custom Checkout - Conversion optimiert mit Speicherung von Standard-Versandart und Zahlungsart am Kunden JTL-Shop - Ideen, Lob und Kritik 1
Neu Auftrag - Lieferstatus mit Workflow exportieren Arbeitsabläufe in JTL-Wawi 3
In Diskussion Workflow mit UND / ODER - Bedingung erstellen JTL-Workflows - Ideen, Lob und Kritik 7
Ameise-Export: Umsatzsteuer stimmt nicht mit Differenz aus Netto und Brutto überein (insbesondere bei mehreren Steuersätzen) JTL-Wawi 1.11 0
Neu Klarna konnte mit den angegebenen Daten keine Sitzung erstellen. Einige Feldbedingungen wurden verletzt. Betrieb / Pflege von JTL-Shop 0
Neu Funktioniert Shop 5.7 mit MariaDB 10.5.29? Installation / Updates von JTL-Shop 1
Sanktionsprüfung mit JTL JTL-Wawi 1.10 0
Versandart Standartpaketversand mit Express JTL-Wawi 1.10 2
Artikeletiketten mit Angabe des Herstellers+Adresse JTL-Wawi 1.10 3
Neu Versandkostenersparnis mit JTL-Shipping: Vergünstigte Versandlabels ohne individuelle Rahmenverträge mit Versanddienstleistern User helfen Usern - Fragen zu JTL-Wawi 1
Probleme mit Worker und JTL-App JTL-Wawi 2.0 5
Neu Probleme mit Import Datenbank vom Server auf lokal JTL-Wawi 2.0 User helfen Usern - Fragen zu JTL-Wawi 4
Neu Angeblich noch keine Verknüpfung mit DPD Meta ??? JTL-ShippingLabels - Fehler und Bugs 1
Neu fEKNetto - zwei Einträge je LiefArtikel mit gleichem Lieferant - nur einer aktualisiert User helfen Usern - Fragen zu JTL-Wawi 1
Neu JTL-Verknüpfung mit EC-Gerät fehlerhaft JTL-POS - Fehler und Bugs 0

Ähnliche Themen