MyBB.de Forum
Task wird nicht ausgeführt - Druckversion

+- MyBB.de Forum (https://www.mybb.de/forum)
+-- Forum: Anpassungen (https://www.mybb.de/forum/forum-47.html)
+--- Forum: Plugin-Entwicklung (https://www.mybb.de/forum/forum-74.html)
+--- Thema: Task wird nicht ausgeführt (/thread-37771.html)

Seiten: Seiten: 1 2 3


RE: Task wird nicht ausgeführt - doylecc - 29.03.2021

(29.03.2021, 14:16)StefanT schrieb:
(29.03.2021, 13:24)doylecc schrieb: Dieser Teil aus dem geposteten Code:
PHP-Code:
        $new_task['nextrun'] = fetch_next_run($new_task);

        $db->insert_query('tasks'$new_task); 

setzt das nicht den gleichen "nextrun" Wert für alle vorhandenen Tasks, da es keine WHERE Bedingung enthält?
Seit wann braucht man bei insert Bedingungen? Wink

Seit man beim Lesen nicht aufpasst und insert mit update verwechselt.  Toungue


RE: Task wird nicht ausgeführt - Schnapsnase - 29.03.2021

Hier nun meine Task-Datei.
Kann mich jemand über meine geistige Umnachtung aufklären? Big Grin 

PHP-Code:
function task_sn_backupcleaner($task) {
    global $mybb$lang$config;
    $lang->load('sn_backupcleaner');

    if(!defined('MYBB_ADMIN_DIR'))
    {
        if(!isset(
$config['admin_dir']))
        {
            
$config['admin_dir'] = "admin";
        }

        
define('MYBB_ADMIN_DIR'MYBB_ROOT.$config['admin_dir']);
    }
    
    
// Check if folder is writable
    
if(!is_writable(MYBB_ADMIN_DIR."/backups"))
    {
        add_task_log($task$lang->sn_backupcleaner_cantwrite);
    
             
        
$ba_files MYBB_ADMIN_DIR."/backups/*.sql.gz";
        $backup_file glob($ba_files);
        
$ba_count 0;
        
$ba_min $mybb->settings['backupcleaner_keep'];
        $ba_age_max $mybb->settings['backupcleaner_delay'];
    
    
// delete every file in the array which is >= $ba_age_max days and keep files = $ba_min    
    
if(count($backup_file) > $ba_min)
    {
        foreach(
$backup_file as $ba)
        {
        if(
is_file($ba) && time() - filectime($ba) >= $ba_age_max*24*60*60)
        {
        
$ba_count++;    
        
unlink($ba);
        }
        }
        
add_task_log($task$lang->sprintf($lang->sn_backupcleaner_ran$ba_count));
    }    




RE: Task wird nicht ausgeführt - StefanT - 30.03.2021

Kann es sein, dass es die Sprachdatei nur im admin-Ordner liegt?

Abgesehen davon ist es merkwürdig, dass du die Schreibrechte prüfst, das Skript bei fehlenden Rechten aber einfach weiterläuft. Da fehlt wahrscheinlich eine else-Bedingung.


RE: Task wird nicht ausgeführt - Schnapsnase - 30.03.2021

Richtig, der else-Abzweig feht. Es muss natürlich abgebrochen werden, wenn nicht beschreibbar.
Das muss ich nacharbeiten. Wink
Ja die Sprachdatei liegt nur im Admin-Verzeichnis. Habe ich hier einen Denkfehler bzw. sollte das die Ursache sein?

Danke im Voraus!


RE: Task wird nicht ausgeführt - StefanT - 30.03.2021

(30.03.2021, 10:08)Schnapsnase schrieb: Ja die Sprachdatei liegt nur im Admin-Verzeichnis. Habe ich hier einen Denkfehler bzw. sollte das die Ursache sein?
Genau das meinte ich mit unterschiedlichen Pfaden. Wink Die task.php, die die Aufgaben automatisch aufruft, liegt im Hauptverzeichnis. Entsprechend wird die Sprachdatei auch im Hauptverzeichnis des Sprachpakets gesucht.


RE: Task wird nicht ausgeführt - Schnapsnase - 30.03.2021

Boa Stefan,
an der Stelle hätte ich wohl bis zur Verzweiflung gesucht.
Ist natürlich logisch, aber hatte ich absolut nicht auf dem Schirm, da ja auch nirgendwo ein Fehler erscheint. Rolleyes
Ich ändere und teste heute Abend.

Vielen Dank soweit!


RE: Task wird nicht ausgeführt - Schnapsnase - 30.03.2021

Kleines Update:

Sprachdateien hinzugefügt.
Else-Abzweig korrigiert.

Das Plugin funktioniert jetzt, wie es soll.

Danke Stefan!! Wink


RE: Task wird nicht ausgeführt - StefanT - 31.03.2021

Wunderbar. Smile Danke für die Rückmeldung.