MyBB.de Forum
Einfacher Task (Write_query) klappt nicht - Druckversion

+- MyBB.de Forum (https://www.mybb.de/forum)
+-- Forum: Sonstiges (https://www.mybb.de/forum/forum-1.html)
+--- Forum: Programmierung (https://www.mybb.de/forum/forum-32.html)
+--- Thema: Einfacher Task (Write_query) klappt nicht (/thread-26050.html)



Einfacher Task (Write_query) klappt nicht - ps915 - 13.07.2012

Ich komme einfach nicht weiter. Ich möchte einen Query als Aufgabe täglich ausführen. Wenn ich den Query so durch die DB jage, klappt er super und macht genau das was ich möchte. Als Aufgabe klappt er einfach nicht!

Was habe ich übersehen?

PHP-Code:
<?php
# Shoutbox löschen!
function task_clean_shoutbox($task)
{
    global 
$db;
    
    
$db->write_query("DELETE FROM piger_mysb_shouts WHERE CURDATE( ) > FROM_UNIXTIME( shout_date )");
    
add_task_log($task"clean_shoutbox");
}
?>



RE: Einfacher Task (Write_query) klappt nicht - StefanT - 13.07.2012

Wird der Tals überhaupt ausgeführt? Es sollte ja ein Log-Eintrag entstehen.


RE: Einfacher Task (Write_query) klappt nicht - ps915 - 13.07.2012

Nach dem manuellen Start wurde der Log-Eintrag wird erstellt!


RE: Einfacher Task (Write_query) klappt nicht - StefanT - 13.07.2012

Dann muss das Query aber auch ausgeführt worden sein?


RE: Einfacher Task (Write_query) klappt nicht - ps915 - 13.07.2012

Nein definitiv nicht! Ich habe spaßeshalber mal einen einfache create Table Befehl getestet! Auch das klappt nicht!
In phpMyAdmin klappen beide ohne Probleme!


RE: Einfacher Task (Write_query) klappt nicht - StefanT - 13.07.2012

Bei einem SQL-Error würden aber kein Log-Eintrag erstellt...
Eine Idee, was das Problem sein könnte, habe ich aber gerade leider nicht.


RE: Einfacher Task (Write_query) klappt nicht - ps915 - 13.07.2012

Es ist wie verhexxt! Im Grunde muss ich nur den Query ausführen! Ist es möglich per php, also ohne die Funktion von Mybb, eine Datenbankverbindung innerhalb von mybb zu erstellen?


RE: Einfacher Task (Write_query) klappt nicht - Jockl - 13.07.2012

(13.07.2012, 19:55)ps915 schrieb: Nach dem manuellen Start wurde der Log-Eintrag wird erstellt!

Wenn der Task manuell ausgeführt wird, könnte evtl. Deine Einstellung des Cronjob nicht stimmen. Hast Du das mal kontrolliert?


RE: Einfacher Task (Write_query) klappt nicht - ps915 - 13.07.2012

Wie meinst du das? Wenn ich den Job manuell ausführe läuft er die gleiche Prozedur ab, nur früher als geplant!


RE: Einfacher Task (Write_query) klappt nicht - Jockl - 13.07.2012

Ich wollte nur nachfragen, ob Du sicher bist, dass die Zeiteinstellungen passen....

Mir fällt aber ein, dass ich auch mal so ein Problem hatte, dass eine selbst geschriebene Aufgabe nur manuell ausgeführt wurde, über den Cron aber nicht. Der "Fehler" lag irgendwo im PHP-Code. Mal sehen, ob ich das noch aus dem Langzeitgedächtnis heraus kramen kann.

Auch wenn es eigentlich nichts ausmachen sollte. Ersetze mal nur mal zum Testen
PHP-Code:
$db->write_query("DELETE FROM piger_mysb_shouts WHERE CURDATE( ) > FROM_UNIXTIME( shout_date )"); 
durch
PHP-Code:
$db->delete_query('piger_mysb_shouts''CURDATE( ) > FROM_UNIXTIME( shout_date )');