通過伺服器定時任務 調用 laravel命令或方法
1.在app\Console\Commands 下建立定時任務所要進行的操作
建立命令: php artisan make:console test
$signature = “testCommand”; 這裡的簽名,在kernel.php中任務命令中也要用到;
2.在Kernel.php 中調用
protected $commands = [
‘App\Console\Commands\test’, #應用程式中所要調用的artisan集合
];
$schedule->command('testCommand')->everyMinute(); #這裡的testCommand與app\Console\Commands中的簽名要相同
注釋:也可以 $schedule->command(‘testCommand’)->cron(‘* * * * *’); 來設定時間
3.還需要在配置 /etc/crontab 檔案
-
-
-
-
- root php /home/vagrant/Code/artisan schedule:run
注釋:laravel文檔上有
-
-
-
-
- php /path/to/artisan schedule:run 1>> /dev/null 2>&1
這裡的path 是項目的路徑 而不是檔案路徑!!!
Linux下的任務調度分為系統和使用者任務調度:
a.crontab -e 屬於使用者自訂,會被寫入到/var/spool/cron 目錄中,並且聲稱一個和使用者名稱一致的檔案,檔案內容就是編輯的定時指令碼
[可以進入到/var/spool/cron 查看使用者目錄]
使用者定期要執行的工作,比如使用者資料備份、定時寄件提醒等。
b.vim /etc/crontab 屬於系統層級的,系統周期性所要執行的工作,比如寫快取資料到硬碟、日誌清理等。
以上就介紹了Laravel 任務調度,包括了方面的內容,希望對PHP教程有興趣的朋友有所協助。