Neu Massiver jtl-shop-cron aufruf

lord_icon

Gut bekanntes Mitglied
21. Juli 2007
199
8
"Ihre Datenbank entspricht dem aktuellen Systemstand (Version 5.4.0). "

Moin moin...

im Folge eine Serverprüfung haben wir massiven Aufruf vom jtl- shop-cron erhalten.
Nach Stundenlander suche würde ich nun folgenden (dummen) ablauf VERMUTEN

Code:
Besucher/Bot ruft Shopseite auf
        ↓
JTL-Shop startet intern den Cron-Starter
        ↓
includes/src/Cron/Starter/Curl.php
        ↓
Server ruft sich selbst per curl auf
        ↓
POST /includes/cron_inc.php
User-Agent: jtl-shop-cron
IP: ***.***.***.***
        ↓
cron_inc.php lädt den Shop und prüft Cron/Queue

Sprich: JEDER Aufruf der Website läd den Cron.

Folgende Auszüge was 1h Logauszug wiederspiegelt:
Code:
awk '$4 >= "[21/May/2026:08:40" {
    split($1, ip, ".")
    $1 = "***.***.***." ip[4]
    print $1, $7, $9, $10, $12
}' /var/www/clients/client3/web20/log/access.log \
| sort | uniq -c | sort -nr | head -80


    319 ***.***.***.21 /includes/cron_inc.php 200 4353 "jtl-shop-cron"
     10 ***.***.***.151 /dbeS/mytest.php 200 3927 "JTL-Wawi/1.11.9.0
     10 ***.***.***.151 /dbeS/GetKunden_xml.php 200 473 "JTL-Wawi/1.11.9.0
     10 ***.***.***.151 /dbeS/GetData_xml.php 200 473 "JTL-Wawi/1.11.9.0
     10 ***.***.***.151 /dbeS/GetBestellungen_xml.php 200 473 "JTL-Wawi/1.11.9.0
      9 ***.***.***.151 /dbeS/GetZahlungen_xml.php 200 473 "JTL-Wawi/1.11.9.0
      8 ***.***.***.37 /_updateconsent 200 4408 "Mozilla/5.0
      8 ***.***.***.151 /dbeS/lastjobs.php 200 473 "JTL-Wawi/1.11.9.0
      7 ***.***.***.198 /admin/io 200 562 "Mozilla/5.0
      7 ***.***.***.151 /dbeS/QuickSync_xml.php 200 473 "JTL-Wawi/1.11.9.0
      7 ***.***.***.117 /site.webmanifest 200 1050 "Mozilla/5.0
      6 ***.***.***.38 /_updateconsent 200 4408 "Mozilla/5.0
      6 ***.***.***.198 /admin/io 200 4423 "Mozilla/5.0
      4 ***.***.***.8 /sitemap_index.xml 500 4342 "Mozilla/5.0
      4 ***.***.***.39 /robots.txt 200 4960 "Mozilla/5.0
      4 ***.***.***.202 /site.webmanifest 200 688 "Mozilla/5.0
      4 ***.***.***.202 /site.webmanifest 200 4534 "Mozilla/5.0
      4 ***.***.***.198 /admin/io 200 4931 "Mozilla/5.0
      3 ***.***.***.37 /robots.txt 200 4960 "Mozilla/5.0
      3 ***.***.***.226 /_updateconsent 200 4349 "Mozilla/5.0
      3 ***.***.***.202 /asset/jtl3.js?v=1.4.0 200 110607 "Mozilla/5.0
      3 ***.***.***.198 /admin/io 200 1070 "Mozilla/5.0
      2 ***.***.***.72 /_updateconsent 200 4349 "Mozilla/5.0
      2 ***.***.***.70 /media/image/product/175752/sm/outcast-belly-boat-fish-cat-4-lcs-olive.jpg 404 4293 "Mozilla/5.0
      2 ***.***.***.6 /_updateconsent 200 4349 "Mozilla/5.0
      2 ***.***.***.63 /_updateconsent 200 4349 "Mozilla/5.0
      2 ***.***.***.60 /media/image/product/230015/sm/zebco-magic-cold-smoke-spiral-kaltraeucher-generator.jpg 200 8296 "Mozilla/5.0
      2 ***.***.***.52 /robots.txt 200 4938 "Mozilla/5.0
      2 ***.***.***.52 /media/image/variation/35623/md/nays-mtl-lf-65_variante-waehlen---dekor_t-05.jpg 200 30928 "Mozilla/5.0
      2 ***.***.***.41 /_updateconsent 200 4349 "Mozilla/5.0
      2 ***.***.***.40 /media/image/product/227180/sm/sportex-carat-gt-s-spin-255m-50g.webp 200 2888 "Mozilla/5.0
      2 ***.***.***.38 /robots.txt 200 4960 "Mozilla/5.0
      2 ***.***.***.37 /_updateconsent 200 562 "Mozilla/5.0
      2 ***.***.***.37 /_updateconsent 200 4349 "Mozilla/5.0
      2 ***.***.***.248 /robots.txt 500 4125 "Mozilla/5.0
      2 ***.***.***.248 /robots.txt 301 443 "Mozilla/5.0
      2 ***.***.***.216 /templates/NOVA/themes/base/fonts/montserrat/Montserrat-SemiBold.woff2 200 85548 "Mozilla/5.0
      2 ***.***.***.216 /templates/NOVA/themes/base/fontawesome/webfonts/fa-regular-400.woff2 200 13606 "Mozilla/5.0
      2 ***.***.***.216 /templates/NOVA/js/app/views/productdetails.js 200 693 "Mozilla/5.0
      2 ***.***.***.216 /templates/NOVA/js/app/views/header.js 200 2426 "Mozilla/5.0
      2 ***.***.***.216 /templates/NOVA/js/app/snippets/form-counter.js 200 1003 "Mozilla/5.0
      2 ***.***.***.216 /templates/NOVA/js/app/plugins/tabdrop.js 200 1319 "Mozilla/5.0
      2 ***.***.***.216 /templates/NOVA/js/app/plugins/navscrollbar.js 200 2201 "Mozilla/5.0
      2 ***.***.***.216 /templates/NOVA/js/app/helpers.js 200 1258 "Mozilla/5.0
      2 ***.***.***.216 /templates/NOVA/js/app/globals.js 200 491 "Mozilla/5.0
      2 ***.***.***.216 /templates/NOVA/js/app/app.js 200 521 "Mozilla/5.0
      2 ***.***.***.216 /plugins/jtl_paypal_commerce/frontend/template/ecs/jsTemplates/standaloneButtonTemplate.js 200 535 "Mozilla/5.0
      2 ***.***.***.216 /plugins/jtl_paypal_commerce/frontend/template/ecs/jsTemplates/activeButtonLabelTemplate.js 200 523 "Mozilla/5.0
      2 ***.***.***.216 /plugins/jtl_paypal_commerce/frontend/template/ecs/init.js 200 1586 "Mozilla/5.0
      2 ***.***.***.216 /plugins/jtl_paypal_commerce/frontend/js/paypal.browser.min.js 200 2131 "Mozilla/5.0
      2 ***.***.***.216 /bilder/intern/shoplogo/jtlshoplogo.png 200 38793 "Mozilla/5.0
      2 ***.***.***.214 /media/image/product/223387/md/bkk-wide-gape-hook.webp 200 18461 "Mozilla/5.0
      2 ***.***.***.210 /_updateconsent 200 4349 "Mozilla/5.0
      2 ***.***.***.205 /_updateconsent 200 547 "Mozilla/5.0
      2 ***.***.***.205 /templates/NOVA/themes/base/fonts/opensans/open-sans-600.woff2 200 15288 "Mozilla/5.0
      2 ***.***.***.205 /templates/NOVA/js/custom.js?v=1.4.0 200 520 "Mozilla/5.0
      2 ***.***.***.205 /templates/NOVA/js/app/views/productdetails.js 200 693 "Mozilla/5.0
      2 ***.***.***.205 /templates/NOVA/js/app/views/header.js 200 2426 "Mozilla/5.0
      2 ***.***.***.205 /templates/NOVA/js/app/plugins/tabdrop.js 200 1319 "Mozilla/5.0
      2 ***.***.***.205 /templates/NOVA/js/app/plugins/navscrollbar.js 200 2201 "Mozilla/5.0
      2 ***.***.***.205 /templates/NOVA/js/app/helpers.js 200 1258 "Mozilla/5.0
      2 ***.***.***.205 /templates/NOVA/js/app/globals.js 200 491 "Mozilla/5.0
      2 ***.***.***.205 /templates/NOVA/js/app/app.js 200 521 "Mozilla/5.0
      2 ***.***.***.205 /plugins/jtl_paypal_commerce/frontend/template/instalmentBanner/jsTemplates/instalmentBannerPlaceholder.js 200 526 "Mozilla/5.0
      2 ***.***.***.205 /plugins/jtl_paypal_commerce/frontend/template/ecs/jsTemplates/standaloneButtonTemplate.js 200 535 "Mozilla/5.0
      2 ***.***.***.205 /plugins/jtl_paypal_commerce/frontend/template/ecs/jsTemplates/activeButtonLabelTemplate.js 200 523 "Mozilla/5.0
      2 ***.***.***.205 /plugins/jtl_paypal_commerce/frontend/template/ecs/init.js 200 1586 "Mozilla/5.0
      2 ***.***.***.205 /plugins/jtl_paypal_commerce/frontend/js/paypal.browser.min.js 200 2131 "Mozilla/5.0
      2 ***.***.***.205 /mediafiles/Bilder/partner.png 200 17466 "Mozilla/5.0
      2 ***.***.***.205 /favicon.svg 200 42372 "Mozilla/5.0
      2 ***.***.***.205 /bilder/intern/shoplogo/jtlshoplogo.png 200 38793 "Mozilla/5.0
      2 ***.***.***.205 /asset/jtl3.js?v=1.4.0 200 110622 "Mozilla/5.0
      2 ***.***.***.202 /_updateconsent 200 4415 "Mozilla/5.0
      2 ***.***.***.202 /asset/jtl3.js?v=1.4.0 200 58543 "Mozilla/5.0
      2 ***.***.***.202 /asset/jtl3.js?v=1.4.0 200 110622 "Mozilla/5.0
      2 ***.***.***.170 /_updateconsent 200 4349 "Mozilla/5.0
      2 ***.***.***.160 /media/image/product/232166/sm/shimano-zodias-2026-spinning~2.jpg 200 3953 "Mozilla/5.0
      2 ***.***.***.14 /media/image/product/219297/sm/ba-spin-mh-search-jig-238cm-28g.jpg 200 13565 "Mozilla/5.0
      2 ***.***.***.115 /templates/NOVA/themes/base/fonts/opensans/open-sans-regular.woff2 200 18291 "Mozilla/5.0
      2 ***.***.***.115 /templates/NOVA/themes/base/fonts/opensans/open-sans-600.woff2 200 18787 "Mozilla/5.0

319 Aufrufe innerhalb von 60 Minuten. Alle ca. 18sek Aufruf.

Code:
awk '$4 >= "[21/May/2026:08:40" && $7 == "/includes/cron_inc.php" {print $1, $7, $9, $10, $12}' /var/www/clients/client3/web20/log/access.log \
| sort | uniq -c | sort -nr

    319 <eigene-IP-Adresse> /includes/cron_inc.php 200 4353 "jtl-shop-cron"
Sind zwar nur n bissel mehr als 4KB... aber 1,4MB unnötigerweise je Stunde bewegt.

Hintergrund der Sucherei ist ein langerser Shop bzw. gut ausgelasteter Server.

Code:
ps -o pid,ppid,user,etime,%cpu,%mem,cmd -u web20

4115051 web20 44.0% php-fpm: pool web20
4115052 web20 47.1% php-fpm: pool web20
4115053 web20 43.1% php-fpm: pool web20
4115054 web20 47.0% php-fpm: pool web20
4115055 web20 45.4% php-fpm: pool web20
4115056 web20 39.7% php-fpm: pool web20

Frage: Könnt Ihr das nachstellen? Bzw. Wieso geht JTL diesen dummen Weg?
Klar... es ist der schnellste/einfachste Weg um was abzuarbeiten und der Kundenfreundlichste.
Der Admin/Kunde braucht nicht mehr per Crontab -e irgendwas eintragen... und Fehler machen.
ABER: der aktuelle Weg scheint bei jeder Website Aufruf ausgeleiferrt zu werden.

WENN meine Vermutung so stimmt, dann wäre doch:
* Schreibe ein cron.ini oder cron. log/cron.txt wo eine Uhrzeit eingetragen wird.
* Bot/Besucher/Seitenreload ruft weiterhin die cron ab => cron prüft, ob 60sekunden vergangen sind:
* sind nicht = abbruch
* sind erreicht = weiterer Scriptlauf mit DB Abfragen und am ende = neuer Timestamp setzen

Würde ich jetzt so gerne umsetzen wollen... frage mich aber, was ich da noch evtl. alles abschießen würde.
Oder gibt es andere Lösungen ?

Danke
 

css-umsetzung

Offizieller Servicepartner
SPBanner
6. Juli 2011
8.526
2.641
Berlin
Firma
css-umsetzung
Warum deaktivierst du das nicht einfach im Shop und verwendest einen vernünftigen cron, der je nachdem jede Minute oder einmal die Stunde schaut ob es etwas zu tun gibt.
ich lasse den grundsätzlich jede Minute starten.
 
  • Gefällt mir
Reaktionen: lord_icon

NoOne

Sehr aktives Mitglied
16. März 2024
599
202
Nein, das passiert nicht bei jedem Aufruf, es sei denn man setzt den Pseudo-Cron (bzw. die Einstellung "Server-to-Server jeden X-ten Aufruf starten") auf 1. Und das ist vermutlich so implementiert, weil nicht jedes Hosting Cronjobs anbietet.
 

JohnFrea

Sehr aktives Mitglied
21. September 2017
957
302
Was ist denn die Alternative, wenn der Server (z.B. All-Inkl) Cron Jobs bietet?
Ich finde gar keine Doku, welche URL der externe Cronjob für den Shop aufzurufen hat...
 

deliman

Sehr aktives Mitglied
13. Februar 2016
1.040
131
Würde ich auch gern wissen, da schon mal nach der passenden URL für einen Cron auf dem Server gesucht. Irgendwo im Forum war der spezielle angegeben aber wenn man sich den passenden Thread nicht gleich speichert... Dazu findet man auch im JTL Wiki nur etwas zu den Shopinternen Crons, nicht aber wenn man die alternativ auf dem Server selber nachbilden will.
 

JohnFrea

Sehr aktives Mitglied
21. September 2017
957
302
@NoOne vielen Dank.
Aber ich verstehe nicht, wie das am besten umzusetzen ist.
In welchem Intervall sollte man die URL durch einen Cronjob aufrufen?
Die Infos auf der Seite scheinen sich zu widerprechen...
 
Ähnliche Themen
Titel Forum Antworten Datum
JTL Wawi 1.11.xx langsam unbenutzbar! JTL-Wawi 1.11 2
Neu Plugin: JTL Exportformat Google Shopping gibt <g:google_product_category> unter Shop 5.7.1 und Wawi 2.0.4 nicht aus Plugins für JTL-Shop 1
Neu Widerrufsbutton für JTL-Shop 4 Allgemeine Fragen zu JTL-Shop 6
Neu Rabatte aus dem JTL-Shop werden in der Wawi nur als Netto-Preis übernommen, Rabatt % gehen verloren Onlineshop-Anbindung 0
JTL Anmeldung letzter Benutzer JTL-Wawi 1.11 3
Test-Kunden als solche in JTL markieren, um die Auswertungen sauber zu halten? JTL-Wawi 1.11 1
Neu Ab Wawi 1.10 - JTL.Wawi.Pos.exe direkt ohne JTL-Administrator starten? Allgemeine Fragen zu JTL-POS 2
Neu JTL-Shop - Wechsel von Test zum Livebetrieb - was beachten ? Installation / Updates von JTL-Shop 2
JTL APP - Fehlermeldung nach Update auf Wawi 1.11. JTL-Wawi App 6
Eigener Drittshop-Connector (jtl/connector 5.3): valide Variationskombinationen werden mit „besitzt keine Variationen" nicht gesendet JTL-Wawi 1.11 1
JTL Wawi 1.11. - Fenstergröße - Artikel auf Einkaufsliste setzen JTL-Wawi 1.11 13
Neu Problem mit dem JTL-Connector – Invalid Shopify connection credentials. Shopify-Connector 3
Neu JTL Artikelanlage mit KI beschleunigen User helfen Usern - Fragen zu JTL-Wawi 2
Neu JTL-Wawi Shopabgleich per E-Mail überwachen (Warnungen & Fehler) Onlineshop-Anbindung 1
Neu Helfen Lösungen wie Unicorn wirklich, um die teuren Preise bei JTL zu vermeiden? Amazon-Anbindung - Ideen, Lob und Kritik 1
Neu Meta Shop seit September 2025: JTL-Lösung für neue Checkout-URL gesucht Allgemeine Fragen zu JTL-Shop 0
Neu Bug? Führende Nullen bei Sendungsnummern verschwinden in JTL-Wawi 2.0.3 JTL-ShippingLabels - Fehler und Bugs 1
DPD Cloud Labeldruck auf Zebra LP 2844-Z seit Update auf JTL-Wawi 1.11.x fehlerhaft JTL-Wawi 1.11 3
JTL nach Update auf 2.0.3 im Bereich „Kunden“ extrem langsam JTL-Wawi 2.0 1
Neu DHL 4.0 mit JTL-ShippingLabels funktioniert nicht JTL-ShippingLabels - Fehler und Bugs 2
JTL-Wawi sucht falschen ShopType nach Gambio-Update JTL-Wawi 1.7 2
Neu JTL Lizensserver ist nicht erreichbar eBay-Anbindung - Fehler und Bugs 0
Nach update 1.8>1.11 Kein Mandant in JTL-Wawi gefunden JTL-Wawi 1.11 5
Angebliche externe Aufträge "für Rechnungserstellung freigeben" und Rechnungen erstellen. Gibt es dazu eine akzeptable Erklärung von JTL? JTL-Wawi 1.11 1
Rabatt Coupons in Verbindung mit Staffelpreisen - JTL 1.11.9, JTL Shop JTL-Wawi 1.11 0
Neu JTL → Shopify Connector: MappingTablesException / „Endpoint id is empty“ – betroffene Artikel aus Logs per SQL finden Shopify-Connector 1
Neu Abschaltung DHL versenden 3.0 vs JTL Shipping JTL-ShippingLabels - Ideen, Lob und Kritik 4
Neu JTL PayPal Checkout 2.3.0 ... 1. Update klappte nicht, 2. Update nun Eintrag doppelt Plugins für JTL-Shop 19
Fehler beim Abgleich mit dem JTL-Shop JTL-Wawi 2.0 12
Neu Warnung: Attribute via JTL Funktion JTL_GetProductAttribute() funktioniert nicht zuverlässig Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 1
Neu OnFinds: KI-Suche für JTL-Shop mit fairer Abrechnung nach Artikelanzahl. 30 Tage kostenlos testen Plugins für JTL-Shop 0
Neu Eignes Feld aus Auftrag in Rechnung anzeigen lassen JTL-WaWi 1.11.10 Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 2
In Bearbeitung JTL FFN Seite defekt? JTL-Fulfillment Network - Fehler und Bugs 2
Neu Freelancer für JTL-Wawi, Shop & Prozessautomatisierung Dienstleistung, Jobs und Ähnliches 0
Neu Hilfe bei jtl-pos Synchronisation User helfen Usern - Fragen zu JTL-Wawi 5
Beantwortet JTL-POS „Rechnung drucken“ Allgemeine Fragen zu JTL-POS 2
JTL ERP-Connector JTL-Wawi 2.0 0
Neu Reverse Charge Verfahren - JTL richtiger Steuersatz Shopify-Connector 3
Neu JTL Shop 5.7.1 mit Fehlern - versandarten zahlungsarten nicht änderbar, leere weiße Seite JTL-Shop - Fehler und Bugs 5
Neu Umzug von sehr alter JTL Wawi Version auf neuen PC User helfen Usern - Fragen zu JTL-Wawi 3
Neu JTL REST API (on premise) - welche API Version ab welcher Wawi-Version? Changelog? Schnittstellen Import / Export 0
Neu Ab welcher JTL Wawi Version ist der OnPremise REST API Endpoint POST /v2/returns oder POST /v1/returns für Create Return verfügbar? Schnittstellen Import / Export 0
Neu JTL Stammtisch im TurboZentrum 04.06.2026 Messen, Stammtische und interessante Events 1
Neu JTL Stammtisch Dresden 21.05.2026 Messen, Stammtische und interessante Events 0
Neu JTL Stammtisch Bochum am 20.05.2026 (morgen) Messen, Stammtische und interessante Events 0
Manche Produkte werden nicht erkannt JTL/ Shopify JTL-Wawi 2.0 3
Bessere Greyhound-Anbindung ab 1.10 - JTL-API-Pflicht? JTL-Wawi 1.10 12
Neu Seller2Go – Mobile App & JTL-Plugin für Bestellungen, Support und Produktmanagement Plugins für JTL-Shop 0
JTL Ameise Lieferantenbestellung mit VPE importieren oder umrechnen JTL-Wawi 1.11 0
JTL-Stammtisch Bochum – am 20.05.2026 Messen, Stammtische und interessante Events 0

Ähnliche Themen