2017-05-16 88 views
0

我使用Laravel Task Scheduling多次調用Laravel調度衝突

我需要在不同的時間運行多個任務,如:

protected function schedule(Schedule $schedule) { 
    $schedule->call('App\Http\Controllers\[email protected]')->daily(); 
    $schedule->call('App\Scheduled\[email protected]')->hourly(); 
    $schedule->call('App\Scheduled\[email protected]')->hourly(); 
    $schedule->call('App\Scheduled\[email protected]')->daily(); 
} 

但由於某些原因的一切每天運行一次(在12 00:00)。我究竟做錯了什麼?

回答

1

這聽起來像你的cron作業每天只運行一次artisan schedule:run。確保您的cron作業的設置類似於文檔:

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

* * * * *部分是指每分鐘運行一次,然後Laravel將決定哪些任務來運行基於您的日程安排的每一分鐘。

+0

這是我檢查的第一件事,它是每一分鐘。 – Grigio

+1

如果您在剛剛記錄日誌的頂部添加測試命令,您是否每分鐘都會看到該日誌?是否有可能在其中一個命令中出現錯誤? – Jeff

+0

你是對的,我允許一個異常一直冒泡到這個函數。謝謝! – Grigio