WordPress Cronjobs durch Host Europe verwalten ✅

Durch den Umzug auf ein neues Paket bei Host Europe stehen mir nun eigene Cronjobs für die Erledigung von Aufgaben zu Verfügung. Im speziellen Fall geht es darum, dass in einer Produktdatenbank alle 15 Minuten die Preise von Amazon aktualisiert werden müssen. Das eigentliche Cronjob-System von WordPress funktioniert nur vernünftig wenn Besucher auf der Seite sind, da diese Jobs dadurch gesteuert werden. Aus Performance-Gründen können pro Job aber nur 10 Produkte aktualisiert werden, da es sonst zum Ausfall der Seite kommt. (Shared-Hosting!)

Um trotzdem immer aktuelle Preise zu haben, kann der Befehl zum aktualisieren auch durch Host Europe ausgeführt werden. Das Problem war hier, dass mir das Script dafür eine Wget-Befehl gegeben hat, der nur über einen kleinen Trick bei Host Europe ausführbar ist. Da es nicht wirklich eine Anleitung dafür gibt, habe ich die wenigen Schritte einmal festgehalten.

1. Anpassen der WP-Config
ALs erstes müssen die WordPress Cronjobs in der wp-config deaktiviert werden. Dazu einfach mit einem FTP-Programm zum Webspace verbinden und die wp-config.php um folgende Zeile erweitern:
define('DISABLE_WP_CRON', true);

2. Anlegen der Cronjob-Datei
Über die Host Europe Oberfläche lassen sich aktuell wie oben beschrieben nur Dateien und keine Befehle wie wget aufrufen. Das hat zur folge das diese in eine PHP Datei ausgelagert werden müssen. Dazu am besten im Root-Verzeichniss des Webspaces einen neuen Ordner mit dem Namen „Cron“ anlegen und anschließend eine PHP-Datei (z.B. mycron.php) mit folgenden Code hochladen:

#!/usr/local/bin/php
/dev/null 2>&1");
?>

3. Cronjob bei Hosteurope einrichten
Im Anschluss muss der Cronjob nur noch bei Host Europe konfiguriert werden. In meinem Beispiel wird der Produktupdate Job alle 10 Minuten ausgeführt.
cron-host-europe

Für Fragen und Anmerkungen hinterlasst gerne ein Kommentar 🙂

3 Antworten
  1. Daryl
    Daryl says:

    Hallo Benjamin

    Super Anleitung, danach habe ich gesucht. Ich habe mehrere WordPress-Seiten laufen und benötige für alle geleichermaßen den HE-Cronjob. Startet Dein Vorschlag mit der mycron.php alle Crons auf allen WordPress-Installationen?

    Ich habe jetzt einen Ordner mit der mycron.php auf gleicher Ebene wie die Ordner worin 5 WP-Installation liegen.
    Leider habe ich die genaue Funktionsweise der mycron.php noch nicht gepeilt.

    Danke und Grüße
    Tom

    Antworten
  2. soheil
    soheil says:

    Hallo Benjamin!

    Danke für diesen Beitrag. Könntest du für mich als Anfänger noch erklären, wie ich eine php Datei erstelle und wo ich dann auf hosteurope dann diesen cron job konfigurieren kann? Danke

    Antworten
    • Benjamin
      Benjamin says:

      Hallo soheil,

      eine PHP-Datei kannst du mit einem normalen Text-Editor erstellen. Anschließend die Datei als .php und nicht als .txt abspeichern.
      Hast du in deinem Host-Europe-Pakte Cronjobs mit drinne?

      Antworten

Hinterlassen Sie einen Kommentar

Wollen Sie an der Diskussion teilnehmen?
Feel free to contribute!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.