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新手上路(二)
Oct 09 PHP
利用static实现表格的颜色隔行显示的代码
Sep 02 PHP
提高PHP编程效率 引入缓存机制提升性能
Feb 15 PHP
php图像处理函数大全(推荐收藏)
Jul 11 PHP
php判断文件夹是否存在不存在则创建
Apr 09 PHP
护卫神php套件 php版本升级方法(php5.5.24)
May 10 PHP
详解PHP错误日志的获取方法
Jul 20 PHP
thinkphp3.2点击刷新生成验证码
Feb 16 PHP
Centos6.5和Centos7 php环境搭建方法
May 27 PHP
无需数据库在线投票调查php代码
Jul 20 PHP
PHP+Redis开发的书签案例实战详解
Jul 09 PHP
thinkphp5 模型实例化获得数据对象的教程
Oct 18 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
ThinkPHP3.1新特性之对分组支持的改进与完善概述
2014/06/19 PHP
php、java、android、ios通用的3des方法(推荐)
2016/09/09 PHP
php双层循环(九九乘法表)
2017/10/23 PHP
PHP实现生成模糊图片的方法示例
2017/12/21 PHP
再次更新!MSClass (Class Of Marquee Scroll通用不间断滚动JS封装类 Ver 1.6)
2007/02/05 Javascript
Javascript 遍历对象中的子对象
2009/07/03 Javascript
Javascript String.replace的妙用
2009/09/08 Javascript
javascript中substr,substring,slice.splice的区别说明
2010/11/25 Javascript
jQuery表格排序组件-tablesorter使用示例
2014/05/26 Javascript
jQuery分别获取选中的复选框值的示例
2014/06/17 Javascript
nodejs实现的一个简单聊天室功能分享
2014/12/06 NodeJs
js实现图片和链接文字同步切换特效的方法
2015/02/20 Javascript
JavaScript中的关联数组问题
2015/03/04 Javascript
通过Jquery.cookie.js实现展示浏览网页的历史记录超管用
2015/10/23 Javascript
JavaScript 七大技巧(二)
2015/12/13 Javascript
vue项目实现记住密码到cookie功能示例(附源码)
2018/01/31 Javascript
详解vuex的简单todolist例子
2019/07/14 Javascript
vue ssr服务端渲染(小白解惑)
2019/11/10 Javascript
Node.js API详解之 repl模块用法实例分析
2020/05/25 Javascript
[04:03]2014DOTA2西雅图国际邀请赛 LGD战队巡礼
2014/07/07 DOTA
Python实现登录人人网并抓取新鲜事的方法
2015/05/11 Python
浅谈pyhton学习中出现的各种问题(新手必看)
2017/05/17 Python
python机器学习库常用汇总
2017/11/15 Python
使用python爬虫获取黄金价格的核心代码
2018/06/13 Python
python3图片文件批量重命名处理
2019/10/31 Python
Python实现数值积分方式
2019/11/20 Python
Tory Burch德国官网:美国时尚生活品牌
2018/01/03 全球购物
Juicy Couture Beauty官方网站:香水和化妆品
2019/03/12 全球购物
广州一家公司的.NET面试题
2016/06/11 面试题
大学生旷课检讨书
2014/01/22 职场文书
甜点店创业计划书
2014/01/27 职场文书
《再别康桥》教学反思
2014/02/12 职场文书
热爱祖国的演讲稿
2014/05/04 职场文书
商业计算机应用专业自荐书
2014/06/09 职场文书
Python实现简单的猜单词
2021/06/15 Python
Python实现双向链表
2022/05/25 Python