2017-10-24 4 views
0

Ich versuche, eine Helper-Funktion (App \ Helpers) auf einem geplanten Timer mit Laravel (für Testzwecke habe ich es einmal pro Minute ausgeführt). Ich benutze Laravel 5.3.Laravel Zeitplan Call Helper Funktion funktioniert nicht

Dies ist mein Zeitplan-Funktion in meinem Kernel.php ...

protected function schedule(Schedule $schedule) 
    { 
     $schedule->call(function() 
     { 
      // Calling this function should write a new file with a random number in it. 
      // I know this works perfectly fine outside of the scheduled task because I 
      // call it in other places, and it works) 

      FileEdit::UpdateFile(); 

     })->everyMinute(); 
    } 

Das Problem ist, dass der FileEdit::UpdateFile() Teil jemals wird nicht durch die Laravel an den vorgesehenen Zeitintervallen aufgerufen wird.

Antwort

1

Führen Sie einen Cron-Job aus, um den Zeitplan-Befehl jede Minute auszuführen? jede Minute

https://laravel.com/docs/5.5/scheduling#introduction

* * * * * php /path-to-your-project/artisan schedule:run >> /dev/null 2>&1

Dieser Cron wird die Laravel Befehl Scheduler aufrufen. Wenn der Befehl schedule: run ausgeführt wird, wertet Laravel Ihre geplanten Aufgaben aus und führt die fälligen Aufgaben aus.

+0

Huh ? Nein, es ist mein Verständnis, dass das Scheduling die Ausführung eines Cron-Jobs überflüssig gemacht hat. Ich meine, es ist eine Option, aber es besagt, dass eine Call-Funktion, wie ich beschrieben habe, funktionieren sollte ... – Rick

+0

Der Cron-Job sagt den Zeitplan an jede Minute. Dann bestimmt Laravel jede Minute, was Sie gemäß Ihrer 'Kernel.php'-Datei tun sollen. Etwas muss Laravel immer noch sagen, dass er jede Minute einschalten soll. – Jeff

+0

Ah du hast Recht ... Danke, das hat es behoben. – Rick

Verwandte Themen