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 相关文章推荐
多文件上载系统完整版
Oct 09 PHP
关于BIG5-HKSCS的解决方法
Mar 20 PHP
php的正则处理函数总结分析
Jun 20 PHP
在命令行下运行PHP脚本[带参数]的方法
Jan 22 PHP
php网站来路获取代码(针对搜索引擎)
Jun 08 PHP
分享8个最佳的代码片段在线测试网站
Jun 29 PHP
thinkphp实现数组分页示例
Apr 13 PHP
php实例分享之通过递归实现删除目录下的所有文件详解
May 15 PHP
PHP中使用GD库绘制折线图 折线统计图的绘制方法
Nov 09 PHP
php将html转为图片的实现方法
May 19 PHP
学习thinkphp5.0验证类使用方法
Nov 16 PHP
实例分析PHP将字符串转换成数字的方法
Jan 27 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数据库开发知多少
2006/10/09 PHP
分享php多功能图片处理类
2016/05/15 PHP
PHP bin2hex()函数基础实例讲解
2019/02/11 PHP
TP3.2框架分页相关实现方法分析
2020/06/03 PHP
[对联广告] JS脚本类
2006/08/27 Javascript
用jscript实现列出安装的软件列表
2007/06/18 Javascript
javascript onmouseout 解决办法
2010/07/17 Javascript
js判断两个日期是否相等的方法
2013/09/10 Javascript
jQuery实现鼠标单击网页文字后在文本框显示的方法
2015/05/06 Javascript
关于JavaScript的变量的数据类型的判断方法
2015/08/14 Javascript
JS中判断字符串中出现次数最多的字符及出现的次数的简单实例
2016/06/03 Javascript
vue实现可增删查改的成绩单
2016/10/27 Javascript
jquery hover 不停闪动问题的解决方法(亦为stop()的使用)
2017/02/10 Javascript
Angular.JS去掉访问路径URL中的#号详解
2017/03/30 Javascript
nodejs集成sqlite使用示例
2017/06/05 NodeJs
JS动态添加的div点击跳转到另一页面实现代码
2017/09/30 Javascript
新手快速入门微信小程序组件库 iView Weapp
2019/06/24 Javascript
vue内置组件keep-alive事件动态缓存实例
2020/10/30 Javascript
jquery实现加载更多"转圈圈"效果(示例代码)
2020/11/09 jQuery
Python中无限元素列表的实现方法
2014/08/18 Python
Python中itertools模块用法详解
2014/09/25 Python
Python实现PS滤镜Fish lens图像扭曲效果示例
2018/01/29 Python
python实现合并多个list及合并多个django QuerySet的方法示例
2019/06/11 Python
简单了解python filter、map、reduce的区别
2020/01/14 Python
wxPython修改文本框颜色过程解析
2020/02/14 Python
css3 实现圆形旋转倒计时
2018/02/24 HTML / CSS
Bally巴利中国官网:经典瑞士鞋履、手袋及配饰奢侈品牌
2018/10/09 全球购物
意大利和国际最佳时尚品牌:Drestige
2019/12/28 全球购物
家庭教育先进个人事迹材料
2014/01/24 职场文书
机械设计及其自动化专业求职信
2014/06/09 职场文书
农行心得体会
2014/09/02 职场文书
计生个人工作总结
2015/02/28 职场文书
学会感恩主题班会
2015/08/12 职场文书
Redis可视化客户端小结
2021/06/10 Redis
《总之就是很可爱》新作短篇动画《总之就是很可爱~制服~》将于2022年夏天播出
2022/04/07 日漫
python解析json数据
2022/04/29 Python