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 相关文章推荐
为php4加入动态flash文件的生成的支持
Oct 09 PHP
php下的权限算法的实现
Apr 28 PHP
php date与gmdate的获取日期的区别
Feb 08 PHP
php 过滤器实现代码
Aug 09 PHP
Thinkphp使用mongodb数据库实现多条件查询方法
Jun 26 PHP
Mac OS下配置PHP+MySql环境
Feb 25 PHP
PHP实现原比例生成缩略图的方法
Feb 03 PHP
thinkphp在低版本Nginx 下支持PATHINFO的方法分享
May 27 PHP
使用PHP连接数据库_实现用户数据的增删改查的整体操作示例
Sep 01 PHP
thinkPHP5框架导出Excel文件简单操作示例
Aug 03 PHP
php5.5使用PHPMailer-5.2发送邮件的完整步骤
Oct 14 PHP
Laravel创建数据库表结构的例子
Oct 09 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数据缓存的使用说明
2013/05/10 PHP
php stream_get_meta_data返回值
2013/09/29 PHP
php实现格式化多行文本为Js可用格式
2015/04/15 PHP
php简单统计中文个数的方法
2016/09/30 PHP
PHP+Oracle本地开发环境搭建方法详解
2019/04/01 PHP
屏蔽鼠标右键、Ctrl+n、shift+F10、F5刷新、退格键 的javascript代码
2007/04/01 Javascript
javaScript call 函数的用法说明
2010/04/09 Javascript
JavaScript高级程序设计 阅读笔记(十四) js继承机制的实现
2012/08/14 Javascript
js 调用父窗口的具体实现代码
2013/07/15 Javascript
event对象获取方法总结在google浏览器下测试
2013/11/03 Javascript
利用jq让你的div居中的好方法分享
2013/11/21 Javascript
JS实现局部选择打印和局部不选择打印
2014/04/03 Javascript
jquery防止重复执行动画避免页面混乱
2014/04/22 Javascript
JS输入用户名自动显示邮箱后缀列表的方法
2015/01/27 Javascript
使用JavaScript开发IE浏览器本地插件实例
2015/02/18 Javascript
JavaScript返回上一页的三种方法及区别介绍
2015/07/04 Javascript
整理Javascript事件响应学习笔记
2015/12/02 Javascript
详解AngularJS中的filter过滤器用法
2016/01/04 Javascript
JS实现刷新父页面不弹出提示框的方法
2016/06/22 Javascript
js案例之鼠标跟随jquery版(实例讲解)
2017/07/21 jQuery
vue项目关闭eslint校验
2018/03/21 Javascript
从vue源码解析Vue.set()和this.$set()
2018/08/30 Javascript
vue 项目中使用Loading组件的示例代码
2018/08/31 Javascript
Angular Excel 导入与导出的实现代码
2019/04/17 Javascript
小程序跨页面交互的作用与方法详解
2020/01/07 Javascript
JavaScript canvas实现雨滴特效
2021/01/10 Javascript
[31:33]2014 DOTA2国际邀请赛中国区预选赛 TongFu VS DT 第一场
2014/05/23 DOTA
Python 实现训练集、测试集随机划分
2020/01/08 Python
Python基于内置库pytesseract实现图片验证码识别功能
2020/02/24 Python
Django认证系统user对象实现过程解析
2020/03/02 Python
HTML5进度条特效
2014/12/18 HTML / CSS
美国医生配方营养补充剂供应商:Healthy Directions
2019/07/10 全球购物
Ellesse英国官网:意大利高级运动品牌
2019/07/23 全球购物
2015年读书月活动总结
2015/03/26 职场文书
门卫管理制度范本
2015/08/05 职场文书
springboot layui hutool Excel导入的实现
2022/03/31 Java/Android