Cache aufwärmen per Cronjob

[quote=“Kerstin83”][quote]er Consolen Befehl zum Cache aufwärmen ist übrigens sw:warm:http:cache.[/quote] Wie öffnet man denn diese Console ? Liebe Grüße Kerstin[/quote] Per SSH auf den Server einloggen. Viele Hoster bieten hier den Kunden einen SSH Zugang zum Webserver an.

Sagt mir leider nicht allzuviel. Ich habe einen Plesk-Zugang. Geht das damit ? Oder hat das damit nichts zu tun?

ja, danke. Das hatte ich auch gefunden, weiß aber nicht wie. Möchte ja auch nichts kaputt machen. Rumprobieren ist also nicht :frowning: Gits da keine richtige Anleitung hier von shopware oder so? Liebe Grüße Kerstin

[quote=„Kerstin83“]ja, danke. Das hatte ich auch gefunden, weiß aber nicht wie. Möchte ja auch nichts kaputt machen. Rumprobieren ist also nicht :frowning: Gits da keine richtige Anleitung hier von shopware oder so? Liebe Grüße Kerstin[/quote] Nee - Wenn man von da nicht soviel Ahnung hat würde ich es auch lassen :x Sonst frag deinen Hoster, der setzt dir sicherlich den Cron entsprechend auf für das Cache Warming.

Also ich kann meine Bemühungen den Cache per Cronjob aufzuwärmen einstellen. :frowning: Lt. meinem Hoster benötige ich um Shopware CLI Tools zu verwenden einen dedizierten Server. Schade, kann denn Shopware dafür keinen Cron anbieten? @Kerstin83 Frag mal bei deinem Hoster nach, evtl. geht das bei dir auch nicht.

[quote=„Tanny“]Also ich kann meine Bemühungen den Cache per Cronjob aufzuwärmen einstellen. :frowning: Lt. meinem Hoster benötige ich um Shopware CLI Tools zu verwenden einen dedizierten Server. Schade, kann denn Shopware dafür keinen Cron anbieten? @Kerstin83 Frag mal bei deinem Hoster nach, evtl. geht das bei dir auch nicht.[/quote] Du hast zwar keinen SSH Zugang, aber du kannst ja sicherlich einen Cronjob anlegen oder? Der übernimmt dann entsprechend das aufwärmen. Per Cronjob kannst du dann ja bspw. ein oder zwei mal am Tag den Cache leeren lassen und dann den Cache per Cronjob aufwärmen lassen.

Nein, lt. meinem Hoster kann ich das „Cache aufwärmen“ nicht per Cronjob abarbeiten lassen. Cronjobs an sich kann ich erstellen. Meine Anfrage an den Hoster: [quote]…per Cronjob (geplante Aufgaben) möchte ich gerne regelmäßig den Cache meines Shops aufwärmen. Der Befehl zum Aufwärmen lautet: sw:warm:http:cache Außerdem muss dafür der absolute Pfad angegeben werden. Könnten Sie mir bitte den absoluten Pfad nennen um den Cronjob-Befehl unter „geplante Aufgaben“ korrekt eintragen zu können?[/quote] Antwort des Hosters: [quote]…zur Verwendung der Shopware CLI Tools benötigen Sie einen dedizierten Server.[/quote] Mein Nachfrage: [quote]…vielen Dank für Ihre Antwort. D.h., den habe ich nicht? Kann ich also meinen Cache nicht per Cronjob (wie auch immer, PHP oder per Befehl) aufwärmen? [/quote] Antwort des Hosters: [quote]nein Sie verwenden das einfachste Einsteiger-Hosting für 9,99 EUR/Monat – dedizierte Server beginnen als virtuelle Server bei 59,99 EUR (mehrere vServer auf einer Hardware) – siehe (Link entfernt) bzw. als dedizierte Server mit eigener Hardware bei 129,00 EUR – siehe (Link entfernt) Für die Verwendung der Shopware CLI Tools benötigen Sie eine vollwertige Bash-Shell, die Ihnen nur bei dedizierten/vServern zur Verfügung steht. [/quote] Also, ich verstehe das so, dass ich Cache aufwärmen per Cronjob nicht erledigen lassen kann. Grüße

Cache vorwärmen:

Funktionierender Befehl für eine Plesk v.12.5.30 Aufgabe (Befehl Ausführen) auf einem Root Server:

(kompletter Pfad) hier Beispiel:

cd /var/www/vhosts/sabcdef.onlinehome-server.info/httpdocs/ihrshopverzeichnis && php bin/console sw:warm:http:cache

Grüße Thomas

@Shopwareianer schrieb:

Per Cron entsprechend den absoluten Pfad angeben. Auf meinem Server wäre das bspw.

cd /var/www/clients/client1/web1/web && /opt/php-5.6.9/bin/php bin/console sw:theme:cache:generate

 

@shopwareianer:

Ich hab mir von meinem Hoster den Pfad auf meine Seite anpassen lassen. Der Cron wird auch ausgeführt, aber das hier steht im Log des Crons:

Generating theme cache for shop „deutsch“ …
Clearing HTTP cache …

Das bedeutet doch, dass der cron den Cache sofort wieder löscht, nachdem er ihn aufgewärmt hat, oder?!

Hast Du eine Idee, woran das liegt. Ich bin mit der Performance von unserem Shop noch nicht so ganz zufrieden. Er liegt bei Timme, das sollte eigentlich schneller sein, dachte ich.

 

1 „Gefällt mir“

Die Meldung die du hier gepostet hast, kommt von derGenerierung des Theme Caches. Das ist was anderes als der Cache warmup. Das sind zwei getrennte Sachen. 

 

Super, danke für den Hinweis. Jetzt läuft’s. Thumb-Up

Hallo zusammen,

wir haben jetzt endlich eine ordentliche Konfiguration für alle relevanten Cronjobs auf die Beine gestellt - funktioniert alles prima.
Für die nächtlichen Datenbank- und File-Backups haben wir ein Script, welches ebenfalls über einen Cronjob gestartet wird.

Jetzt fehlt nur noch, wie hier thematisiert, eine Lösung für’s Aufwärmen des Caches, bei unserem Hoster können wir aber nur
http(s) Jobs eingeben, mit dem absoluten Pfad geht das nicht.

Wie würde/könnte denn ein PHP-Script für den Befehl „cd /absoluter Pfad/ && php bin/console sw:warm:http:cache“ aussehen?
(Da habe ich leider null Ahnung von)

Grüße
Ralph

Hi,

wenn nur http Jobs und keine PHP Cronjobs zur Verfügung stehen, kannst Du das Aufwärmen per Cronjob nicht nutzen. Verwenden kannst Du jedoch die Shopware Cronjobs (z.B. Cache leeren) - siehe http://community.shopware.com/Cronjobs_detail_1102.html

Beispiel http-Aufruf

http://www.deinedomain.de/backend/cron

VG

Mit den SW-Cronjobs ist wie gesagt alles bestens. Aber für das Aufwärmen (und nur darum geht es) gibt es keinen.
Es muss doch möglich sein, diesen Befehl in ein Script zu packen, und dieses dan per Cron beim Hoster starten.

Nachtrag: So z.b., aber ich habe wie gesagt keine Ahnung von php:

 <?php

exec(‚cd /absoluter Pfad/ && php bin/console sw:warm:http:cache‘);

?>

Schau mal hier:

http://phpforum.de/archiv_42475_Shell@Script@ausfuehren_anzeigen.html

Ggfs. Hoster fragen - möglich, dass bestimmte Funktionen gesperrt sind.

VG

cd ist ein shell Befehl, müsste dann wohl mit „shell_exec“ aufgerufen werden, denke ich.
Wenn ich das Script aufrufe, kommt zumindest kein Fehler. Werde später mal den Cache leeren und probieren.

Ich habe eine Rückmeldung vom Hoster:
Aufruf per Script

<?php

exec('cd /absoluter Pfad/ && php bin/console sw:warm:http:cache'); ?\> PHP-Datei mit dem Code auf den Server z.b. domain.de/script/cache-warmup.php und dann ganz normal als cronjob einrichten.

Hallo Zusammen!

 

Falls noch aktuell: Unsere Firma hat bereits seit längerer Zeit ein kostenloses Plugin im Store, welches den Cache regelmäßig per Cronjob aufwärmt :slight_smile:

Viele Grüße

Dennis

2 „Gefällt mir“

Hallo zusammen,

ich versuche nun schon seit einer Weile, den Cache automatisch per Cronjob aufzuwärmen. Das Cache leeren über das Shopware-Plugin „Cron“ über einen per Cronjob durchgeführten Aufruf der URL klappt wunderbar - aber das aufwärmen nicht!

Ich habe schon das o.g. Plugin von Compra benutzt. Er wärmt nichts auf, funktioniert nicht.

Ich habe eine Datei Namens „sw_http_cache_warm.sh“ erstellt und im Shopverzeichnis in einen neu erstellten Ordner Namens „Cron“ gepackt.

Diese Datei hat diesen Inhalt:

#!/bin/sh
/usr/local/php7.4/bin/php /var/www/vhosts/SERVERADRESSE/html/SHOPVERZEICHNISS/bin sw:warm:http:cache -cb8

Ich wähle im Cronjob bei meinem Hoster „PHP-Script ausführen“ und verlinke den Pfad so:
/var/www/vhosts/SERVERADRESSE/html/SHOPVERZEICHNISS/cron/sw_http_cache_warm.sh

Der Cronjob startet, ich bekomme als Rückmeldung per Mail:
/usr/local/php7.4/bin/php /var/www/vhosts/SERVERADRESSE/html/SHOPVERZEICHNISS/bin sw:warm:http:cache -cb8

Allerdings, sehe ich dann unter „Einstellungen > Cache/Performance“ > Cache nach, so zeigt er bei http-reverse-proxy gerade einmal ein paar Kilobyte an, auch nach mehreren Minuten.

Wärme ich den Cache manuell, sind es nach Abschluss über 800MB.

Was mache ich falsch?