Fragen zu Cronjobs

  • Hallo!


    Vielleicht kann mir jemand helfen. Habe ich bis jetzt noch nicht mit Cronjobs gearbeitet und hätte ein paar Anfängerfragen.
    Bis jetzt habe ich die Produkte per Wordpress-Cronjob aktualisieren lassen, habe aber jetzt schon recht viele Produkte, weshalb ich jetzt lieber zum externen Cronjob greife.

    1.) Was ist der Unterschied zwischen dem externen Cronjob mit und ohne Ausgabe?


    2.) Was ist ein Multi-Cronjob (steht leider nichts dazu in der Doku)?


    3.) Ich habe einen Cronjob am Server (Webgo) angelegt und unter "Kommando" das hier eingetragen: bestenbrettspiele.de/wp-content/plugins/affiliate-toolkit/affiliate-toolkit-cron.php .
    Stimmt es, dass ich hier kein https:// oder so eingebe, sonders so wie im Beispiel oben?

    4.) Wenn ich als Intervall 15 Minuten beim Cronjob einstelle, bedeutet das, dass die Preise alle 15 Minuten aktualisiert werden?
    Aber wenn ich in AT unter Produktdaten-Aktualisieren zwischen 23 Uhr und 06 Uhr eingebe, wird meine Webseite dennoch nur in dieser Zeit mit aktuellen Preisen aktualisiert? Aber dann alle 15 Minuten?
    (bei mir steht hier übrigens bei der Aktuellen Zeit eine falsche, um zwei Stunden frühere Zeit...Also es ist aktuell 23 uhr, unter aktueller Zeit steht aber 21 Uhr - nur so nebenbei).


    Wenn also ein Shop bittet, dass man die Daten nur um 04 Uhr morgens aktualisieren soll, müsste ich den Cronjob auf täglich 04 Uhr stellen und in AT die Produktaktualisierung zwischen...?


    5.) Kann ich irgendwie kontrollieren, ob der Cronjob am Server richtig ausgeführt wird (ohne darauf zu warten einen nicht aktuellen Preis auf meiner Webseite zu finden)?
    Ich nehme an, dass in AT unter Shops dennoch stehen würde, dass die Produktdaten zu einem gewissen Zeitpunkt eingelesen wurden, auch wenn der Cronjob nicht funktioniert hätte da er dann vermutlich nur die alten Daten erneut einliest, oder?


    Herzlichen Dank für eure Antworten.


    Liebe Grüße,

    Günther

  • Nach dem Suchen im Internet, bin ich derzeit bei dieser Zeile angelangt, die ich nun unter Cronjob-Kommando eingetragen habe:


    /usr/bin/php7.1 /home/www/verzeichnis/wp-content/plugins/affiliate-toolkit/affiliate-toolkit-cron.php


    allerdings erhalte ich diesen Fehler per Mail:


    PHP Warning: require(./../../../wp-load.php): failed to open stream: No such file or directory in /home/www/verzeichnis/wp-content/plugins/affiliate-toolkit/affiliate-toolkit-cron.php on line 20

    PHP Fatal error: require(): Failed opening required './../../../wp-load.php' (include_path='.:/usr/share/php') in /home/www/verzeichnis/wp-content/plugins/affiliate-toolkit/affiliate-toolkit-cron.php on line 20


    Christof, hast du eine Idee was ich falsch mache?


    Herzlichen Dank und lg,

    Günther

    • Offizieller Beitrag

    1.) Was ist der Unterschied zwischen dem externen Cronjob mit und ohne Ausgabe?

    Beim externen Cronjob "ohne Ausgabe" wird am Ende nur ein OK ausgegeben. Bei "mit Ausgabe" wird detailiert ausgegeben was gemacht wird. Im laufenden Betrieb würde ich die Ausgabe abschalten.


    2.) Was ist ein Multi-Cronjob (steht leider nichts dazu in der Doku)?

    Das war mal eine Idee, um Shops parallel aktualisieren zu können. Das packen aber die meisten Webserver nicht und deshalb sollte man das nicht einschalten :)



    3.) Ich habe einen Cronjob am Server (Webgo) angelegt und unter "Kommando" das hier eingetragen: bestenbrettspiele.de/wp-content/plugins/affiliate-toolkit/affiliate-toolkit-cron.php .
    Stimmt es, dass ich hier kein https:// oder so eingebe, sonders so wie im Beispiel oben?

    Das kommt drauf an wie dein Hoster das will. Normalerweise gibt man die ganze URL ein inkl. HTTPS.



    4.) Wenn ich als Intervall 15 Minuten beim Cronjob einstelle, bedeutet das, dass die Preise alle 15 Minuten aktualisiert werden?
    Aber wenn ich in AT unter Produktdaten-Aktualisieren zwischen 23 Uhr und 06 Uhr eingebe, wird meine Webseite dennoch nur in dieser Zeit mit aktuellen Preisen aktualisiert? Aber dann alle 15 Minuten?
    (bei mir steht hier übrigens bei der Aktuellen Zeit eine falsche, um zwei Stunden frühere Zeit...Also es ist aktuell 23 uhr, unter aktueller Zeit steht aber 21 Uhr - nur so nebenbei).

    Die falsche Zeit kommt so vom Server. Das ist nur ein Anzeigeproblem.

    Wenn der Cronjob alle 15 Minuten konfiguriert ist, läuft nur die Überprüfung ob Produkte zum aktualisieren vorhanden sind.. wenn ja, werden diese aktualisiert. Sonst wird nichts gemacht.


    Wenn also ein Shop bittet, dass man die Daten nur um 04 Uhr morgens aktualisieren soll, müsste ich den Cronjob auf täglich 04 Uhr stellen und in AT die Produktaktualisierung zwischen...?

    Den Cronjob selbst kannst du auf alle 15 Minuten lassen. Das Zeitfenster würde hier reichen.

    Ich nehme an, dass in AT unter Shops dennoch stehen würde, dass die Produktdaten zu einem gewissen Zeitpunkt eingelesen wurden, auch wenn der Cronjob nicht funktioniert hätte da er dann vermutlich nur die alten Daten erneut einliest, oder?

    Kommt drauf an. Also wenn das Update gar nicht läuft, wird die Aktualisierung natürlich auch nicht aktualsiiert :)


    Wenn du es so konfiguriert hast, benötigst du wp cli (https://wp-cli.org/de/) auf deinem Server und du musst affiliate-toolkit-wp-cli.php kopieren und anpassen und diese dann aufrufen.


    Es gibt verschiedene Möglichkeiten das Script aufzurufen. Die einfachste ist, wenn du es über https:// also die URL aufrufst. Die andere ist über die Kommandozeile. Da braucht man aber schon ein wenig Ahnung wie das klappt.


    lg Christof

  • Danke für die Antworten.

    Wenn du es so konfiguriert hast, benötigst du wp cli (https://wp-cli.org/de/) auf deinem Server und du musst affiliate-toolkit-wp-cli.php kopieren und anpassen und diese dann aufrufen.

    Das ist vermutlich mal nichts für mich :) . Aber danke. Ich kämpfe mich mal weiter und vl hat auch mein Webhoster einen Tipp.


    Beim externen Cronjob "ohne Ausgabe" wird am Ende nur ein OK ausgegeben. Bei "mit Ausgabe" wird detailiert ausgegeben was gemacht wird. Im laufenden Betrieb würde ich die Ausgabe abschalten.

    Ausgegeben im Debug File, oder?

    • Offizieller Beitrag

    Ausgegeben im Debug File, oder?

    Das wird gemacht, wenn man das logging einschaltet ;)


  • Danke für den Tipp! Der Befehl in einem Wrapperscript hat auch bei meinem Hoster (hosteurope) funktioniert! :)

    • Offizieller Beitrag

    BTW: Wann kommt das?

    Ich hab vor es diese Woche noch raus zu bringen.


    lg Christof