2016-09-27 146 views
2

我正在使用Laravel 5.3,在數字海洋LEMP堆棧液滴(ubuntu服務器)上。Laravel Cron Job未運行命令

我試圖創建一個cron作業,每隔15分鐘我的命令,它看起來像服務器上的cronjob正在運行,但命令沒有得到執行。

現在,如果手動執行php artisan import:來自服務器終端的數據,它將完美運行。

這是我的crontab -e:

* * * * * php /var/www/itom/artisan schedule:run> /dev/null 2>&1 

在laravel文檔就說明這一點:

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

所以我確定這是正確的。

內部應用程序/控制檯/ kernel.php:

protected function commands() 
{ 
    require base_path('routes/console.php'); 
} 

protected $commands = [ 
    \App\Console\Commands\ImportData::class, 
]; 

protected function schedule(Schedule $schedule) 
{ 
    $schedule->command('import:data')->cron('*15/ * * * * *'); 
} 

在我的應用程序/控制檯/命令/ ImportData.php:

use App\Import; 

class ImportData extends Command 
{ 

protected $signature = 'import:data'; 

protected $description = 'Imports page100.txt probe data'; 

public function __construct() 
{ 
    parent::__construct(); 
} 

public function handle() 
{ 
    $import = new Import; 
    $import->start(); 
} 

我不明白這是爲什麼不與cronjob工作,但它的工作時,我手動運行php工匠import:data

回答

3

在您的日程安排方法,你有 $schedule->command('import:data')->cron('*15/ * * * * *');

這應該更改爲以下內容: $schedule->command('import:data')->cron('*/15 * * * * *');