[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
REDAXO Forum • Cronjob
Seite 1 von 1

Cronjob

Verfasst: 23. Apr 2012, 11:18
von jorgos
Hallo zusammen,

kann mir bitte jemand erklären, wie das Crobjob-Addon funktioniert?
Wie eine CJ funktioniert, weis ich schon, aber dieses hier.
Wenn ich die Eingegebene Zeit einstellte (1h) wird aber nicht gemacht, was ich möchte.
Nur, wenn ich ihn manuell ausführe.


Vielen Dank für die Hilfe

Gruß Jorgos :mrgreen:

Re: Cronjob

Verfasst: 24. Apr 2012, 19:46
von Koala
Steht denn irgend was im Log drin?
Wenn denn der Cron auch wirklich ausgeführt? Evtl. Debug-Meldung bei dir einbauen.

Re: Cronjob

Verfasst: 24. Apr 2012, 22:01
von elwood
Die Redaxo-Cronjobs sind keine "echten" Conjobs, der Cronjobhandler wird nur ausgeführt, wenn eine Seite über den Webserver aufgerufen wird. Sprich, wenn kein Besucher nach 1h auf den Seiten war, gibt es auch keinen ausgeführten Cronjob. Dies hängt mit dem HTTP-Protokoll zusammen, der Webserver generiert eine Seite und schickt sie an den Client, damit ist das "Programm" (die HTTP/PHP-Seite) beendet. siehe auch http://de.wikipedia.org/wiki/Zustandslosigkeit

Re: Cronjob

Verfasst: 24. Apr 2012, 22:49
von Gregor.Harlan
Als Ergänzung: "Stündlich" bedeutet bei dem Cronjob-Addon, dass der Job immer beim ersten Aufruf nach der vollen Stunde ausgeführt wird. Wenn in einer Stunde die Seite gar nicht aufgerufen wird, wird die Ausführung nicht nachgeholt, in jeder Stunde wird der Job also maximal einmal ausgeführt. (Für die anderen Intervalle gilt das analog.)
Die Cronjobs müssen natürlich aktiviert sein, und es ist zu beachten, dass die automatische Ausführung niemals beim Aufruf der Cronjob-Page im Backend geschieht.

Re: Cronjob

Verfasst: 27. Apr 2012, 14:41
von jorgos
Danke für die Antworten.
:mrgreen:

Re: Cronjob

Verfasst: 27. Apr 2012, 23:55
von Koala
Wenn das Problem gelöst werden konnte, dann bitte ein "[Solved]" oder so im Ausgangsbetreff reinschreiben.
Danke

Re: Cronjob

Verfasst: 20. Jun 2012, 12:31
von rkemmere
Moin,

ich hab auch ein ähnliches Konfigurationsproblem mit dem Cronjob Addon.
Wenn mir jemand sagt wie es geht, aktualisiere ich das WiKi!

http://www.redaxo.org/de/forum/post100007.html

Danke und Gruss

Re: Cronjob

Verfasst: 25. Feb 2013, 23:40
von alsahh
Gregor.Harlan hat geschrieben:Die Cronjobs müssen natürlich aktiviert sein, und es ist zu beachten, dass die automatische Ausführung niemals beim Aufruf der Cronjob-Page im Backend geschieht.
Kann dann irgendwas kritisches passieren oder werden die "Cronjobs" einfach nicht ausgeführt ?

Wir hatten den seltsamen Fall das auf einmal um 00:00 Uhr die Config-Datei des Cronjob-Addons komplett leer war. Habt ihr eine Erklärung dafür ?

Re: Cronjob

Verfasst: 25. Feb 2013, 23:55
von rkemmere
Hallo alsahh,

das Gleiche hatten wir heute früh um 3 Uhr auch.
Die Config.inc.php war leer und die Seite ging dann nicht mehr, da die Klasse rex_cronjob nicht mehr gefunden wurde.

Re: Cronjob

Verfasst: 26. Feb 2013, 00:07
von alsahh
Ist ja seltsam. Hat keiner ne Idee woran es liegen kann ?

Re: Cronjob

Verfasst: 26. Feb 2013, 00:52
von alsahh
Wahrscheinlich ist der Fehler der selbe wie hier beschrieben:

http://stackoverflow.com/questions/6130 ... s-the-file

mit Verweis auf das Flag LOCK_EX (http://php.net/manual/en/function.file-put-contents.php)

daher sollte https://github.com/redaxo/redaxo4/blob/ ... c.php#L371 durch

Code: Alles auswählen

$writtenBytes = file_put_contents($path, $content,LOCK_EX);
ersetzt werden.

Mal schaun obs was bringt.

Re: Cronjob

Verfasst: 26. Feb 2013, 13:59
von Gregor.Harlan
Ich bin noch relativ ratlos. Zuerst erschien mir das mit LOCK_EX auch logisch, zweifel aber immer mehr daran. Zum einen ist es so, dass file_get_contents das sowieso nicht beachtet, und trotzdem einen leeren String zurückliefert, falls ein anderer Prozess gerade die Datei beschreibt (und dafür schon geleert hat). Zum anderen, wenn man sich mal die verwendete Funktion rex_replace_dynamic_contents anschaut, bricht die ab, falls rex_get_file_contents einen leeren String zurückliefert.
Daher kann ich mir es weiterhin nicht erklären, wie es zu der leeren Datei kommen kann.

Daher noch mal paar Fragen an euch (von Peter weiß ich teilweise die Antworten schon):
1. Welcher Cronjob-Typ war das? (Bei Peter rexseo)
2. Was steht im Log bei der entsprechenden Uhrzeit, eine erfolgreiche Ausführung? Oder nicht erfolgreich? Oder mehrere Ausführungen?
3. Passierte es aus heiterem Himmel? Sprich, vorher funktionierte der Job immer, und jetzt plötzlich ist die Datei leer, ohne irgendwas geändert zu haben (neue Addons oder so)?
4. Wird der Image-Manager benutzt? Original-ImageManager oder ImageManagerEP? Bzw. allgemein werden Dateien über die index.php ausgeliefert? Über welche Addons?

Re: Cronjob

Verfasst: 26. Feb 2013, 15:52
von Markus.Staab
Ist die Datei wirklich komplett leer oder hat sie ein paar Leerzeilen oder Tabs drinn?

Re: Cronjob

Verfasst: 26. Feb 2013, 17:54
von alsahh
Also laut Log hat der RexSeo Cronjob immer gefeuert. Bis auf einmal die Config-Datei komplett leer war 0 kb. Ob ein Leerzeichen/Tab drin war hab ich nicht geschaut. Leider habe ich den Zugang zz nicht mehr.

Re: Cronjob

Verfasst: 26. Feb 2013, 18:20
von Xong
Ist vielleicht unwahrscheinlich, aber wer weiß: Habt ihr noch genug Quota, um die Datei zu beschreiben? =)

Ich hatte auch mal Probleme, an denen ich tagelang gesucht hab, bis mir auffiel, dass der Webspace komplett voll war.

Re: Cronjob

Verfasst: 26. Feb 2013, 22:10
von rkemmere
Also hier war es wie folgt:

REDAXO: 4.3.2
PHP: 5.3.8
MySQL: 5.5.17

Der Cronjob läuft seit Oktober 2012 ohne Probleme. Es ist ein PHP Code welcher ausgeführt wird.
2013-02-24 02:01 | SUCCESS | 1 | REXImmo Import
2013-02-24 01:00 | SUCCESS | 1 | REXImmo Import
Um 2 Uhr lief der Job nochmal erfolgreich. Um 3:05 kam dann der erste Aufruf nach der vollen Stunde auf der Webseite und der Job wurde schon nicht mehr ausgeführt.

Die Datei wurde config.inc.php wurde ebenfalls um 3:05 angepasst. Größe ist 0 Bytes und es sind gar keine Zeichen in der Datei drin.

Laut access log ist folgendes um die Uhrzeit aufgerufen worden.

Code: Alles auswählen

[24/Feb/2013:02:56:00 +0100] "GET /images/prop-detail-thumb/5092-lang3_kueche.jpg HTTP/1.1" 200 3310 "-" "msnbot-media/1.1 (+http://search.msn.com/msnbot.htm)"
[24/Feb/2013:03:05:17 +0100] "GET /robots.txt HTTP/1.1" 200 884 "-" "msnbot-media/1.1 (+http://search.msn.com/msnbot.htm)"
 [24/Feb/2013:03:05:41 +0100] "GET /images/prop-detail-thumb/5075-lang4_bad.jpg HTTP/1.1" 200 2523 "-" "msnbot-media/1.1 (+http://search.msn.com/msnbot.htm)" 
 [24/Feb/2013:03:09:40 +0100] "GET / HTTP/1.1" 500 178 "-" "Real Estate (1.1.3)"
Um 03:05:41 der ImageManager. Im Einsatz ist Image Manager Addon (Version 1.0).

Viele Grüße
Ronny

Re: Cronjob

Verfasst: 26. Feb 2013, 22:39
von alsahh
Laut access log gab es in dem Zeitraum auch genau einen Imagemanageraufruf:

Code: Alles auswählen

[22/Feb/2013:00:00:24 +0100] "GET /zh/team/customs-seizures/our-attorneys/++/name/Kirsten-Dr%C3%B6ge/mid/52/index.php?rex_img_type=ma_detail_wide&rex_img_file=droege_kirsten_6391_1.jpg HTTP/1.1" 200 64794 "http://image.baidu.com/i?ct=503316480&z=0&tn=baiduimagedetail" "Baiduspider-image+(+http://www.baidu.com/search/spider.htm)"

Re: Cronjob

Verfasst: 27. Feb 2013, 15:44
von Gregor.Harlan
Die Ursache konnte ich leider nicht finden, aber ich habe das Problem für die 4.5 im Cronjob-Addon zumindest trotzdem jetzt gelöst (indem nicht mehr die config.inc.php verändert wird).
Sollte es trotzdem nochmal auftreten (eventuell auch in anderen Addons), dann meldet euch wieder.

Re: Cronjob

Verfasst: 27. Feb 2013, 15:59
von alsahh
Alles klar, danke für die Änderungen !