Task wird nicht richtig ausgeführt - Druckversion +- MyBB.de Forum (https://www.mybb.de/forum) +-- Forum: Archiv (https://www.mybb.de/forum/forum-57.html) +--- Forum: MyBB 1.4.x (https://www.mybb.de/forum/forum-51.html) +---- Forum: Allgemeiner Support (https://www.mybb.de/forum/forum-52.html) +---- Thema: Task wird nicht richtig ausgeführt (/thread-16259.html) Seiten: Seiten:
1
2
|
Task wird nicht richtig ausgeführt - dämon - 26.05.2010 Hallo mybb-forum, Ich habe ein Problem mit selbst erstellten Tasks(/Aufgaben), erstmal zu meinem system: MyBB 1.4.11 PHP: 5.2.6-1+lenny3 MySQL: 5.0.51 Jetzt will ich alle 10 minuten auf eine MySQL-Tabelle zugreifen, und überprüfen ob ein timestamp der dort eingetragen ist, in der vergangenheit liegt. Wenn ja soll eine PN an mich gesendet werden. Der code dazu funktioniert mit der einzelnen PHP super, keine fehler, der code wird normal ausgeführt so wie ich es will. Um die PN zu senden greife ich auf eine selbst gecodete PHP zu, die nur die funktion beinhaltet um die PN zu versenden. dazu binde ich diese PHP mit requre_once "./../../easypm.php" ein. Hier kommt schon die erste "Macke": beim direkten aufrufen der PHP die den task ausführt kommen keine fehler (die PHP ist in /inc/tasks/, die easypm.php befindet sich im rootverzeichnis.), wenn ich allerdings im A-CP den task eintrage und manuell, oder automatisch ausführen lasse, kommt eine fehlermeldung dass die datei easypm.php nicht existieren würde... Gut, mit ein wenig rumfummeln habe ich es dann hinbekommen, dass die dateien gefunden werden (global.php konnte auch nicht eingebunden werden...), wenn ich direkt drauf zugreife UND wenn es über den aufgabenplaner geht, zumindest zeigt dieser keine fehler an. Das problem ist jetzt aber: bei direktem Zugriff wird alles normal ausgeführt, beim aufgabenplaner kommt keine PN.... PHP-Code: <?php Das ist das komplette script welches ausgeführt werden soll. Wie gesagt das einbinden von global.php und easypm.php ist etwas "kreativ" Ich bedanke mich schonmal für das lesen, und hoffe jemand kann mir helfen. MfG dämon RE: Task wird nicht richtig ausgeführt - StefanT - 26.05.2010 Hast du den Task im ACP korrekt eingerichtet? RE: Task wird nicht richtig ausgeführt - dämon - 26.05.2010 Hoffe ich doch mal: Mit der Protokollierung habe ich auch schon etwas rumgespielt, wenn ich in der datei nach der easypm-funktion noch folgendes einfüge: PHP-Code: add_task_log($task, 'Reminder - PN Versendet'); Zitat:Fatal error: Call to a member function cache() on a non-object in /var/www/xxxxx/forum/global.php on line 278wenn ich dies ausserhalb der if-schleife schreibe, kommt die fehlermeldung nicht, es wird aber auch nichts protokolliert bei manueller ausführung, PNs kommen in keinem fall an. Bei dem task den ich über nacht habe laufen lassen, habe ich aber grad folgendes im log gefunden: Warning - [2] 'Cannot modify header information - headers already sent by (output started at /var/www/xxxxxx/forum/task.php:59)' - Line: 1548 - File: inc/functions.php MfG dämon /edit: sorry, hatte nur das thumb verlinkt... RE: Task wird nicht richtig ausgeführt - StefanT - 26.05.2010 Kannst du vielleicht ein lesbares Bild hochladen? (Regel 5 beachten: https://www.mybb.de/forum/thread-171.html) Auch wäre deine Task-Datei sehr hilfreich. RE: Task wird nicht richtig ausgeführt - dämon - 26.05.2010 Sorry, habe den post korrigiert der task wird übrigens auch nicht ausgeführt wenn ich die if-schleife einfach weglasse... Wenn mit task-datei die auszuführende datei gemeint ist - die ist komplett in post#1 MfG RE: Task wird nicht richtig ausgeführt - StefanT - 26.05.2010 Hast du mal die anderen Task-Dateien angesehen? Die müssen ein bestimmtes Format haben... RE: Task wird nicht richtig ausgeführt - dämon - 26.05.2010 auch wenn ich das ganze einfach in eine funktion packe bleibt der fehler im log: Zitat:Warning - [2] 'Cannot modify header information - headers already sent by (output started at /var/www/xxx/forum/task.php:59)' - Line: 1548 - File: inc/functions.php ich hab mich schlau gemacht und der fehler kommt wohl von meiner test-fehlerausgabe, aber wenn ich den task manuell ausführe kommt zwar kein fehler, doch die aufgabe wird auch nicht richtig ausgeführt... RE: Task wird nicht richtig ausgeführt - StefanT - 26.05.2010 Du darfst die global.php nicht noch einmal einbinden, das ist ja schon geschehen. RE: Task wird nicht richtig ausgeführt - Zwoetzen - 26.05.2010 In der Task-Datei muss genau eine Funktion namens task_<dateiname>, die den auszuführenden Code enthält. Wenn die Task-Datei also mytask.php heißt, muss diese so aussehen: PHP-Code: <?php Wichtig: Keine Echos oder sonstige Ausgaben wie print_r(), kein erneutes Einbinden der global.php (wie Stefan schon amerkte). (Innerhalb der Funktion sollte dann auch das add_task_log() von oben funktionieren, da du ja das $task mitgegeben bekommst.) RE: Task wird nicht richtig ausgeführt - dämon - 26.05.2010 danke, war wohl das einbinden der global.php und der name der funktion komisch, denn ich hatte mir schon vorher mal tasks gemacht um bei allen usern den invisible-modus wieder zu deaktivieren, ganz ohne funktion, da war der code: PHP-Code: <?php und das ging manuell immer einwandfrei naja, jetzt löppt alles, danke für den support MfG dämon |