2,303 total views, 2 views today
以前要透過PHP來寫自動排程工作,在windows系統必須建立排定工作,在linux則需要修改crontabl的檔案,但是這很麻煩也不容易維護,laravel內建一個自動排程的功能,可以很方便的建立這個工作,輕鬆又簡單。
Centos 7 設定crontab
vi /etc/crontab
[Shell]#* * * * * root /usr/bin/php -q /var/www/html/artisan schedule:run 1>> /dev/null 2>&1[/Shell]
排程範例
更詳細的範例可參考官方: https://laravel.com/docs/5.4/scheduling
搜尋了很多教學網站,都忽略了應該修改那個檔案,使新手碰了滿頭包。
laravel的排程設定目錄在
[Shell]/app/Console/kernel.php[/Shell]
只要按照下列格式即可達到想要的排程
設定每天的 13:00執行
[PHP] $schedule->call(function () {
…..
})->dailyAt(’13:00′);[/PHP]
排程每週一次在特定的日子 (0-6) 早上8 點的工作…
[PHP]$schedule->command(‘foo’)->weeklyOn(1, ‘8:00’);[/PHP]