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
PHP explode()函数用法、切分字符串
Oct 03 PHP
探讨:如何通过stats命令分析Memcached的内部状态
Jun 14 PHP
Thinkphp使用mongodb数据库实现多条件查询方法
Jun 26 PHP
php使用parse_url和parse_str解析URL
Feb 22 PHP
PHP使用DOM和simplexml读取xml文档的方法示例
Feb 08 PHP
thinkPHP5.0框架简单配置作用域的方法
Mar 17 PHP
php识别翻转iphone拍摄的颠倒图片
May 17 PHP
PHP基于DateTime类解决Unix时间戳与日期互转问题【针对1970年前及2038年后时间戳】
Jun 13 PHP
php文件后缀不强制为.php的实操方法
Sep 18 PHP
linux mint下安装phpstorm2020包括JDK部分的教程详解
Sep 17 PHP
如何解决php-fpm启动不了问题
Nov 17 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
Terran魔法科技
2020/03/14 星际争霸
学习使用curl采集curl使用方法
2012/01/11 PHP
php延迟静态绑定实例分析
2015/02/08 PHP
php版微信公众账号第三方管理工具开发简明教程
2016/09/23 PHP
WAF的正确bypass
2017/01/05 PHP
JQuery 学习笔记 选择器之六
2009/07/23 Javascript
JS获取DropDownList的value值与text值的示例代码
2014/01/07 Javascript
jquery的each方法使用示例分享
2014/03/25 Javascript
我用的一些Node.js开发工具、开发包、框架等总结
2014/09/25 Javascript
Clipboard.js 无需Flash的JavaScript复制粘贴库
2015/10/02 Javascript
理解js回收机制通俗易懂版
2016/02/29 Javascript
jQuery通过ajax快速批量提交表单数据
2016/10/25 Javascript
Angular2 多级注入器详解及实例
2016/10/30 Javascript
深入理解nodejs中Express的中间件
2017/05/19 NodeJs
JS实现分页浏览横向图片(类轮播)实例代码
2017/11/06 Javascript
浅谈vue项目如何打包扔向服务器
2018/05/08 Javascript
Javascript confirm多种使用方法解析
2020/09/25 Javascript
Python 专题二 条件语句和循环语句的基础知识
2017/03/19 Python
python 读文件,然后转化为矩阵的实例
2018/04/23 Python
python3连接MySQL数据库实例详解
2018/05/24 Python
Django Admin后台添加数据库视图过程解析
2020/04/01 Python
Jupyter Notebook远程登录及密码设置操作
2020/04/10 Python
Python3爬虫带上cookie的实例代码
2020/07/28 Python
英国布鲁姆精品店:Bloom Boutique
2018/03/01 全球购物
领先的英国注册在线药房 :Simply Meds Online
2019/03/28 全球购物
解释一下ArrayList Vector和LinkedList的实现和区别
2013/04/26 面试题
药剂专业求职信
2014/06/20 职场文书
计算机求职信
2014/07/02 职场文书
2014年党员学习“三严三实”思想汇报
2014/09/15 职场文书
道路交通事故人身损害赔偿协议书
2014/11/19 职场文书
教师反邪教心得体会
2016/01/15 职场文书
《平行四边形的面积》教学反思
2016/02/16 职场文书
标会主持词应该怎么写?
2019/08/15 职场文书
numpy数据类型dtype转换实现
2021/04/24 Python
springboot 自定义配置 解决Boolean属性不生效
2022/03/18 Java/Android
Java 超详细讲解hashCode方法
2022/04/07 Java/Android