Laravel實現(xiàn)定時任務(wù)的示例代碼
簡介
定時任務(wù)是后端開發(fā)過程中一項十分常見的需求,常出現(xiàn)在數(shù)據(jù)統(tǒng)計、垃圾信息清理等場景中。Laravel 提供了一整套的定時任務(wù)工具,讓我們只需要專注地完成邏輯,剩下的基礎(chǔ)工作將由它來承擔(dān)。
基本用法
生成命令
php artisan make:command AreYouOK
5.2 及之前的版本,此命令為 `php artisan make:console xxx`
編輯命令
編輯 `app/Console/Commands/AreYouOK.php` 文件,修改如下幾處:
... ... protected $signature = 'areyou:ok'; // 命令名稱 protected $description = '雷軍,科技圈最會唱歌的男人'; // 命令描述,沒什么用 public function __construct() { parent::__construct(); // 初始化代碼寫到這里,也沒什么用 } public function handle() { // 功能代碼寫到這里 }
注冊命令
編輯 `app/Console/Kernel.php` 文件,將新生成的類進(jìn)行注冊:
protected $commands = [ \App\Console\Commands\AreYouOK::class, ];
編寫調(diào)用邏輯:
protected function schedule(Schedule $schedule) { $schedule->command('areyou:ok') ->timezone('Asia/Shanghai') ->everyMinute(); }
上面的邏輯是每分鐘調(diào)用一次。Laravel 提供了從一分鐘到一年的各種長度的時間函數(shù),直接調(diào)用即可。
把這個 Laravel 項目注冊到系統(tǒng)的 cron 里
編輯 `/etc/crontab` 文件,加入如下代碼:
* * * * * root /usr/bin/php /var/www/xxxlaravel/artisan schedule:run >> /dev/null 2>&1
上面一行中的 `/var/www/xxxlaravel` 需要改為實際的路徑。
fire
重啟 cron 激活此功能:`systemctl restart crond.service`,搞定!
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Laravel框架實現(xiàn)定時發(fā)布任務(wù)的方法
- 源碼分析 Laravel 重復(fù)執(zhí)行同一個隊列任務(wù)的原因
- Laravel中任務(wù)調(diào)度console使用方法小結(jié)
- Laravel框架數(shù)據(jù)庫CURD操作、連貫操作總結(jié)
- Laravel框架表單驗證詳解
- Laravel框架中擴展函數(shù)、擴展自定義類的方法
- 跟我學(xué)Laravel之快速入門
- Laravel框架路由配置總結(jié)、設(shè)置技巧大全
- Laravel中使用FormRequest進(jìn)行表單驗證方法及問題匯總
- Laravel框架定時任務(wù)2種實現(xiàn)方式示例
相關(guān)文章
帝國CMS留言板回復(fù)后發(fā)送EMAIL通知客戶
這篇文章主要介紹了帝國CMS留言板回復(fù)后發(fā)送EMAIL通知客戶的方法和具體修改示例,有需要的小伙伴可以參考下。2015-07-07thinkphp5 框架結(jié)合plupload實現(xiàn)圖片批量上傳功能示例
這篇文章主要介紹了thinkphp5 框架結(jié)合plupload實現(xiàn)圖片批量上傳功能,結(jié)合實例形式分析了thinkphp5 框架結(jié)合plupload實現(xiàn)圖片批量上傳功能相關(guān)擴展類定義、使用及前端js等操作技巧,需要的朋友可以參考下2020-04-04發(fā)布一個用PHP fsockopen寫的HTTP下載的類
發(fā)布一個用PHP fsockopen寫的HTTP下載的類...2007-02-02