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 a simple smtp class
Nov 26 PHP
Wordpress php 分页代码
Oct 21 PHP
php使用Image Magick将PDF文件转换为JPG文件的方法
Apr 01 PHP
php判断文件夹是否存在不存在则创建
Apr 09 PHP
使用php-timeit估计php函数的执行时间
Sep 06 PHP
php上传大文件失败的原因及应对策略
Oct 20 PHP
Thinkphp自定义代码生成工具及用法说明(附下载地址)
May 27 PHP
php获取文件名称和扩展名的方法
Feb 07 PHP
PHP开发的微信现金红包功能示例
Jun 29 PHP
php实现网页上一页下一页翻页过程详解
Jun 28 PHP
PHP 7.4中使用预加载的方法详解
Jul 08 PHP
Yii框架中用response保存cookie,用request读取cookie的原理解析
Sep 04 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
mysql总结之explain
2012/02/27 PHP
apache mysql php 源码编译使用方法
2012/05/03 PHP
php 购物车完整实现代码
2014/06/05 PHP
用Javascript评估用户输入密码的强度实现代码
2011/11/30 Javascript
JS 实现Json查询的方法实例
2013/04/12 Javascript
JavaScript中prototype为对象添加属性的误区介绍
2013/10/15 Javascript
网站接入QQ登录的两种方法
2014/07/22 Javascript
javascript实现点击商品列表checkbox实时统计金额的方法
2015/05/15 Javascript
javascript和jQuery中的AJAX技术详解【包含AJAX各种跨域技术】
2016/12/15 Javascript
Vue SPA单页应用首屏优化实践
2018/06/28 Javascript
微信jssdk逻辑在vue中的运用详解
2018/11/14 Javascript
JS选取DOM元素常见操作方法实例分析
2018/12/10 Javascript
vue2.0+SVG实现音乐播放圆形进度条组件
2019/09/21 Javascript
vue prop传值类型检验方式
2020/07/30 Javascript
vue脚手架项目创建步骤详解
2021/03/02 Vue.js
[01:25]DOTA2超级联赛专访iG 将调整状态找回自己
2013/06/05 DOTA
[01:31]DOTA2上海特级锦标赛 SECRET战队完整宣传片
2016/03/16 DOTA
在Python中使用swapCase()方法转换大小写的教程
2015/05/20 Python
Python开发如何在ubuntu 15.10 上配置vim
2016/01/25 Python
python虚拟环境virualenv的安装与使用
2016/12/18 Python
python编程培训 python培训靠谱吗
2018/01/17 Python
python实现自动网页截图并裁剪图片
2018/07/30 Python
python3实现指定目录下文件sha256及文件大小统计
2019/02/25 Python
python读取目录下所有的jpg文件,并显示第一张图片的示例
2019/06/13 Python
解决Djang2.0.1中的reverse导入失败的问题
2019/08/16 Python
Keras搭建自编码器操作
2020/07/03 Python
DJI美国:消费类无人机领域的领导者
2018/04/27 全球购物
阿拉伯书店:Jamalon
2019/07/24 全球购物
如何实现jdbc性能优化
2012/07/30 面试题
军训心得体会
2013/12/31 职场文书
满月酒主持词
2014/03/27 职场文书
幼儿园六一儿童节活动方案
2014/08/26 职场文书
优秀共产党员事迹材料
2014/12/18 职场文书
入党介绍人意见范文
2015/06/01 职场文书
反邪教教育心得体会
2016/01/15 职场文书
nginx配置限速限流基于内置模块
2022/05/02 Servers