天天看點

laravel定時任務的實作:laravel定時任務的實作:

laravel定時任務的實作:

第一步:

使用指令:php artisan make:command test 生成定時任務的類
$signature屬性: 這裡是你要生成的指令 例如(protected $signature = 'command:hahaha';)
$description屬性:這個是你這個指令的簡介
handle() 這個方法裡面寫的是你需要實作的什麼功能,簡稱主體方法。可以再别的地方寫好,然後引入這裡面來,完全沒問題。如果不想走彎路直接在這裡寫就可以
           

//第二步:

//進入App\Console\Kernel.php類
//$commands這個屬性是一個數組,再數組裡面寫上第一步的類 例如(\App\Console\Commands\test::class)
//schedule()此方法是最重要的
//直接記住格式就可以
//$schedule->command(這裡寫第一步的$signature屬性); 例如($schedule->command('command:hahaha');)
//php artisan schedule:run
           

第三步(比較麻煩)推薦使用

打開伺服器
編寫一個shell腳本,在腳本裡面編寫:php artisan command:hahaha 儲存退出 給與最大的權限  這個artisan是項目根目錄
執行 crontab -e 指令 進入編輯 * * * * * laravel/test.sh(這個檔案名就是shell腳本名絕對路徑,前面的*自行檢視伺服器的crontab )
完成
           

第四步(不麻煩)

//直接執行 crontab -e 指令 進入編輯 
//* * * * * php /path/artisan schedule:run >> /dev/null 2>&1
//* * * * * php /code/src/laravel/artisan schedule:run >> /dev/null 2>&1   (這兩個都是固定文法,隻有前面的*不是)

直接執行 crontab -e 指令 進入編輯 
* * * * * php 項目根路徑/artisan command:hahaha 
儲存,退出
           

第五步:

service cron restart重新開機
service cron status 檢視狀态