Dodałem następujący wiersz w Console/Kernal
laravel Task Scheduler Błąd appendOutputTo
protected function schedule(Schedule $schedule)
{
$schedule->command('queue:work')
->everyMinute()
->appendOutputTo($filePath);
}
Następnie w cmd wierszu Pobiegłem następujące polecenie rzemieślnik, aby uruchomić zaplanowane zadania, ale pojawia się następujący błąd
php artisan schedule:run
Error:
[Symfony\Component\Debug\Exception\FatalErrorException]
Call to undefined method Illuminate\Console\Scheduling\Event::appendOutputTo()
Gdzie wtedy, gdy używam ->sendOutputTo($filename)
zamiast tego działa dobrze, oczywiście, że nie dołącza, ale zastępuje plik.
Dzięki
K
Czy mogę zapytać, dlaczego używasz Harmonogramu zadań do uruchomienia kolejki? Dlaczego nie skorzystać z tego w Supervisor? Jeśli chodzi o twoje pytanie: jedyne co mogłem znaleźć to link do podręcznika http://laravel.com/docs/5.1/scheduling#task-output. W notatce wymieniono następujące informacje: Uwaga: Metody emailOutputTo i sendOutputTo są dostępne wyłącznie dla metody komendy i nie są obsługiwane w przypadku wywołania. –
@ThomasSnijder Myślę, że użyłem harmonogramu zadań, ponieważ chciałem logiki szeregowania pod-wersji w mojej samej laravel. Jak myślisz, dlaczego nie możemy/nie powinniśmy używać harmonogramu zadań do uruchamiania kolejki? – karmendra
Kolejki są zwykle używane do obsługi czasochłonnego zadania, które nie musi być wykonywane od razu, na przykład wysyłania wiadomości e-mail. Możesz z łatwością opóźnić to na 30 do 60 sekund. Zadanie jest używane do powtarzających się operacji w określonym momencie, takich jak czyszczenie tabeli bazy danych lub coś innego. Chcę ci tylko powiedzieć, że możesz uruchomić kolejki z Supervisor i nie potrzebujesz do tego zadań Task scheduler. Ale jeśli chcesz to zrobić za pomocą Harmonogramu zadań, nie sądzę, że istnieją jakiekolwiek remisy. –