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 相关文章推荐
用session做客户验证时的注意事项
Oct 09 PHP
一个自定义位数的php多用户计数器代码
Mar 11 PHP
php 三维饼图的实现代码
Sep 28 PHP
PHP+MySQL 制作简单的留言本
Nov 02 PHP
php自动加载的两种实现方法
Jun 21 PHP
php 判断访客是否为搜索引擎蜘蛛的函数代码
Jul 29 PHP
php过滤表单提交的html等危险代码
Nov 03 PHP
给PHP开发者的编程指南 第一部分降低复杂程度
Jan 18 PHP
Netbeans 8.2与PHP相关的新特性介绍
Oct 08 PHP
Ajax+PHP实现的模拟进度条功能示例
Feb 11 PHP
php微信扫码支付 php公众号支付
Mar 24 PHP
TP5框架实现签到功能的方法分析
Apr 05 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遍历XML文档所有节点的方法
2015/03/12 PHP
通过Email发送PHP错误的方法
2015/07/20 PHP
PHP实现的网站目录扫描索引工具
2016/09/08 PHP
php创建图像具体步骤
2017/03/13 PHP
js apply/call/caller/callee/bind使用方法与区别分析
2009/10/28 Javascript
jquery 问答知识整理
2010/02/11 Javascript
一段非常简单的js判断浏览器的内核
2014/08/17 Javascript
JavaScript正则表达式中的ignoreCase属性使用详解
2015/06/16 Javascript
JS获取当前页面名称的简单实例
2016/08/19 Javascript
Bootstrap CSS布局之代码
2016/12/17 Javascript
JavaScript数组去重的6个方法
2017/01/21 Javascript
JavaScript 事件对内存和性能的影响
2017/01/22 Javascript
使用webpack-dev-server处理跨域请求的方法
2018/04/18 Javascript
一个基于react的图片裁剪组件示例
2018/04/18 Javascript
javascript使用正则实现去掉字符串前面的所有0
2018/07/23 Javascript
mock.js实现模拟生成假数据功能示例
2019/01/15 Javascript
Vue-cli3.x + axios 跨域方案踩坑指北
2019/07/04 Javascript
Vue之Mixins(混入)的使用方法
2019/09/24 Javascript
解决VUEX的mapState/...mapState等取值问题
2020/07/24 Javascript
Vue实现todo应用的示例
2021/02/20 Vue.js
[53:52]EG vs VGJ.T 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
[00:10]DOTA2 TI9勇士令状明日上线
2019/05/07 DOTA
python中使用正则表达式的连接符示例代码
2017/10/10 Python
详解Python连接MySQL数据库的多种方式
2019/04/16 Python
PyQt5下拉式复选框QComboCheckBox的实例
2019/06/25 Python
django如何自己创建一个中间件
2019/07/24 Python
纯css实现照片墙3D效果的示例代码
2017/11/13 HTML / CSS
Tripadvisor新西兰:阅读评论,比较价格和酒店预订
2018/02/10 全球购物
团员学习总结的自我评价范文
2013/10/14 职场文书
平面设计的岗位职责
2013/11/08 职场文书
竞选学生会演讲稿
2014/04/25 职场文书
群众路线四风自我剖析材料
2014/10/08 职场文书
2014年检验科工作总结
2014/11/22 职场文书
办公室主任岗位职责范本
2015/03/31 职场文书
高三毕业感言
2015/07/30 职场文书
python实现图片九宫格分割的示例
2021/04/25 Python