2016-11-14 70 views
1
多個調度工作

我在laravel幾個shceduling proccess kernel.php文件如何在Laravel

protected function schedule(Schedule $schedule) 
{ 
    $schedule->call('App\Http\Controllers\[email protected]') 
      ->everyMinute()->name('firstController_cronjob')->withoutOverlapping(); 
    $schedule->call('App\Http\Controllers\[email protected]') 
      ->everyMinute()->name('secondController_cronjob')->withoutOverlapping(); 
    $schedule->call('App\Http\Controllers\[email protected]') 
      ->everyMinute()->name('thirdController_cronjob')->withoutOverlapping(); 
} 

我的問題是怎麼回事做這三個cronjobs?這些任務將逐個運行,或者服務器將在一個請求中執行三個任務?

感謝

+0

提供所有相關數據。在'console'文件夾內。 –

+0

我不在命令文件夾中添加任何東西。我只需要向我的控制器發出請求。我只是在kernel.php文件中添加這些代碼。 –

+0

閱讀本文檔https://laravel.com/docs/5.3/scheduling這將幫助您瞭解它的工作原理。 –

回答

0

時間表方法將行,以便第一調度運行線運行每分鐘firstController @指數在完成第二個被觸發,之後的第三。 withoutOverlapping將注意所有這些不會與其他cron作業重疊。

這是一個鏈接到文檔。請閱讀它來更好地抓住laravel的cron作業。 https://laravel.com/docs/5.3/scheduling#defining-schedules

+0

那麼有沒有辦法爲控制器並行運行我的cronjobs。我不需要他們逐個運行,我需要paraller任務調度。有沒有辦法呢? –

+0

使用您有的代碼進行測試,但是在不使用重疊()的情況下移除。 –

+0

不,通過刪除不切換我不會得到我想要的。在那種情況下,我會得到相同的任務請求沒有完成它。我想向我的控制器發出並行請求 –