2017-02-09 85 views
0

我正在嘗試每5秒進行計劃任務。Laravel 5計劃任務不工作

這是我的代碼。

*/ 
    protected function schedule(Schedule $schedule) 
    { 
     // $schedule->command('inspire') 
     //   ->hourly(); 

     $schedule->call('App\Http\Controllers\[email protected]')->cron('0,5 * * * *'); 


    } 

    /** 
    * Register the Closure based commands for the application. 
    * 
    * @return void 
    */ 
    protected function commands() 
    { 
     require base_path('routes/console.php'); 
    } 

而當我進入

PHP工匠的時間表,我得到這個錯誤:運行

命令。

沒有預定的命令可以運行。

編輯:

我更新了我的調度和指揮部分。我創建了一個命令。

當我使用它像

PHP工匠GET:數據

其工作。

但是,當我嘗試與調度程序它只是工作一次。

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


$schedule->command('get:data')->cron('* * * * *'); 
+0

在調用調度之前,您已經調用方法「調度」來創建任務:運行? –

+0

克朗不能在數秒內工作。您當前的cron命令是指在小時過後的0分鐘和小時過後的5分鐘運行。你能告訴我們爲什麼你需要定期發生嗎? –

+0

@RossWilson我需要每5秒從Web服務獲取一個數據。所以我正在努力做到這一點。 –

回答

1

不能指定一個計劃任務每​​ň秒運行。系統依賴於一個crontab任務,並且這些任務只能按照分鐘進行,並且不能更小。這就是爲什麼無法定義一個計劃任務來運行每個n秒,即使使用cron方法(因爲cron不支持秒)。