Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.38 veröffentlicht (30.04.24)


Benutzer, die gerade dieses Thema anschauen: 2 Gast/Gäste
Task wird nicht ausgeführt
#21
(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
Zitieren
#22
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));
    }    

Zitieren
#23
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.
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren
#24
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!
Zitieren
#25
(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.
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren
#26
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!
Zitieren
#27
Kleines Update:

Sprachdateien hinzugefügt.
Else-Abzweig korrigiert.

Das Plugin funktioniert jetzt, wie es soll.

Danke Stefan!! Wink
Zitieren
#28
Wunderbar. Smile Danke für die Rückmeldung.
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren


Möglicherweise verwandte Themen…
Thema Verfasser Antworten Ansichten Letzter Beitrag
  "Task" > SQL-Befehl funktioniert nicht Gerti 7 2.863 30.11.2020, 16:59
Letzter Beitrag: Gerti
  Hooks werden nicht immer ausgeführt! icarus 9 3.916 16.11.2011, 16:47
Letzter Beitrag: icarus