2016-05-04 241 views
0

在Kernel.php中,我有幾個任務每天運行一次或兩次。在laravel 5.1中執行計劃任務

當我在控制檯中調用php artisan schedule:run時,可以看到「沒有計劃好的命令已準備好運行」或「正在運行計劃的命令:xxxx」的響應。

我想取出這個消息來存儲它們,而在Kernel.php

最後覺得我試圖運行function schedule(Schedule $schedule){}使用ob_start();ob_get_contents();但theese只返回我自己echo();

->getSummaryForDisplay()添加到註冊命令行不會顯示如果命令執行或不。

回答

1

描述here你可以得到的輸出:

$schedule->command('emails:send') 
    ->daily() 
    ->sendOutputTo($filePath); 

將輸出保存到文件中。或者:

$schedule->command('emails:send') 
    ->daily() 
    ->appendOutputTo($filePath); 

將其附加到文件。

您也可以通過電子郵件獲得輸出,但我相信您仍然必須使用文件。

+1

我曾試過' - > sendOutputTo($ filePath);'但沒有任何事情發生。我使用$ schedule-> call()方法,'sendOutputTo'似乎只能用'command'方法工作。另一方面,我想將輸出保存到數據庫中,而不是保存到文件中。 – Daniel