Laravel实现定时任务的示例代码


Posted in PHP onAugust 10, 2017

简介

定时任务是后端开发过程中一项十分常见的需求,常出现在数据统计、垃圾信息清理等场景中。Laravel 提供了一整套的定时任务工具,让我们只需要专注地完成逻辑,剩下的基础工作将由它来承担。

基本用法

生成命令

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` 文件,将新生成的类进行注册:

protected $commands = [
  \App\Console\Commands\AreYouOK::class,
];

编写调用逻辑:

protected function schedule(Schedule $schedule)
{
  $schedule->command('areyou:ok')
       ->timezone('Asia/Shanghai')
       ->everyMinute();
}

上面的逻辑是每分钟调用一次。Laravel 提供了从一分钟到一年的各种长度的时间函数,直接调用即可。

把这个 Laravel 项目注册到系统的 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`,搞定!

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
PHP编程中八种常见的文件操作方式
Nov 19 PHP
PHP 获取MySQL数据库里所有表的实现代码
Jul 13 PHP
PHP file_exists问题杂谈
May 07 PHP
成为好程序员必须避免的5个坏习惯
Jul 04 PHP
将FCKeditor导入PHP+SMARTY的实现方法
Jan 15 PHP
ecshop实现smtp发送邮件
Feb 03 PHP
Laravel网站打开速度优化的方法汇总
Jul 16 PHP
PHP 实现页面静态化的几种方法
Jul 23 PHP
postman的安装与使用方法(模拟Get和Post请求)
Aug 06 PHP
使用PHPUnit进行单元测试并生成代码覆盖率报告的方法
Mar 08 PHP
php依赖注入知识点详解
Sep 23 PHP
laravel框架查询数据集转为数组的两种方法
Oct 10 PHP
PHP编程实现计算抽奖概率算法完整实例
Aug 09 #PHP
PHP实现将标点符号正则替换为空格的方法
Aug 09 #PHP
php实现的redis缓存类定义与使用方法示例
Aug 09 #PHP
PHP编程实现脚本异步执行的方法
Aug 09 #PHP
PHP并发查询MySQL的实例代码
Aug 09 #PHP
Yii2框架中使用PHPExcel导出Excel文件的示例
Aug 09 #PHP
PHP实现更改hosts文件的方法示例
Aug 08 #PHP
You might like
浅析PHP水印技术
2007/02/14 PHP
第四章 php数学运算
2011/12/30 PHP
PHP生成随机数的方法实例分析
2015/01/22 PHP
php获取twitter最新消息的方法
2015/04/14 PHP
详解PHP中的null合并运算符
2015/12/30 PHP
Laravel接收前端ajax传来的数据的实例代码
2017/07/20 PHP
PHP cookie与session会话基本用法实例分析
2019/11/18 PHP
设置下载不需要倒计时cookie(倒计时代码)
2008/11/19 Javascript
asp.net下使用jquery 的ajax+WebService+json 实现无刷新取后台值的实现代码
2010/09/19 Javascript
基于jquery的二级联动菜单实现代码
2011/04/25 Javascript
jquery实现metro效果示例代码
2013/09/06 Javascript
详解javascript实现瀑布流绝对式布局
2016/01/29 Javascript
jQuery实现标签页效果实战(4)
2017/02/08 Javascript
Bootstrap的Carousel配合dropload.js实现移动端滑动切换图片
2017/03/10 Javascript
JSONP基础知识详解
2017/03/19 Javascript
nodejs实现连接mongodb数据库的方法示例
2018/03/15 NodeJs
在vue中根据光标的显示与消失实现下拉列表
2019/09/29 Javascript
[06:21]2014DOTA2国际邀请赛 庆祝VG首阶段领跑;B叔为挣牛排半夜整理情报
2014/07/13 DOTA
python 自动提交和抓取网页
2009/07/13 Python
找Python安装目录,设置环境路径以及在命令行运行python脚本实例
2020/03/09 Python
pyspark给dataframe增加新的一列的实现示例
2020/04/24 Python
如何完美的建立一个python项目
2020/10/09 Python
html5+css3之CSS中的布局与Header的实现
2014/11/21 HTML / CSS
详解H5 活动页之移动端 REM 布局适配方法
2017/12/07 HTML / CSS
新加坡航空官方网站:Singapore Airlines
2016/10/13 全球购物
Camille Jewelry官网:现代女性时尚首饰
2019/07/07 全球购物
生物化工工艺专业应届生求职信
2013/10/08 职场文书
会计主管岗位职责范文
2013/11/08 职场文书
团党委领导干部党的群众路线教育实践活动个人对照检查材料思想汇
2014/10/05 职场文书
大学生在校表现评语
2014/12/31 职场文书
幼师辞职信怎么写
2015/02/27 职场文书
食品仓管员岗位职责
2015/04/01 职场文书
联村联户简报
2015/07/21 职场文书
公司客户答谢酒会祝酒词
2015/08/11 职场文书
Python 线程池模块之多线程操作代码
2021/05/20 Python
Spring中bean集合注入的方法详解
2022/07/07 Java/Android