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中使用Oracle数据库(2)
Oct 09 PHP
php jquery 实现新闻标签分类与无刷新分页
Dec 18 PHP
PHP编程函数安全篇
Jan 08 PHP
PHP的Socket网络编程入门指引
Aug 11 PHP
Thinkphp无限级分类代码
Nov 11 PHP
基于php实现七牛抓取远程图片
Dec 01 PHP
浅谈php数组array_change_key_case() 函数和array_chunk()函数
Oct 22 PHP
php使用include 和require引入文件的区别
Feb 16 PHP
PHP CURL使用详解
Mar 21 PHP
php中的钩子理解及应用实例分析
Aug 30 PHP
Laravel-添加后台模板AdminLte的实现方法
Oct 08 PHP
laravel 框架结合关联查询 when()用法分析
Nov 22 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 默默经典版本
2009/08/04 PHP
Apache下禁止php文件被直接访问的解决方案
2013/04/25 PHP
教你如何开启shopnc b2b2c 伪静态
2014/10/21 PHP
微信API接口大全
2015/04/15 PHP
发一个自己用JS写的实用看图工具实现代码
2008/07/26 Javascript
jquery 动态创建元素的方式介绍及应用
2013/04/21 Javascript
JQuery获取或设置ckeditor的数据(示例代码)
2013/11/15 Javascript
javascript版的in_array函数(判断数组中是否存在特定值)
2014/05/09 Javascript
javascript匿名函数实例分析
2014/11/18 Javascript
jQuery基于图层模仿五星星评价功能的方法
2015/05/07 Javascript
javascript实现Table间隔色以及选择高亮(和动态切换数据)的方法
2015/05/14 Javascript
js的flv视频播放器插件使用方法
2015/06/23 Javascript
简单理解vue中el、template、replace元素
2016/10/27 Javascript
微信小程序教程系列之新建页面(4)
2017/04/17 Javascript
Vue.js弹出模态框组件开发的示例代码
2017/07/26 Javascript
bootstrap可编辑下拉框jquery.editable-select
2017/10/12 jQuery
JavaScript生成简单等差数列
2017/11/28 Javascript
js时间戳与日期格式之间相互转换
2017/12/11 Javascript
node.js监听文件变化的实现方法
2019/04/17 Javascript
详解微信小程序获取当前时间及日期的方法
2019/04/28 Javascript
[00:03]DOTA2新版本PA至宝展示
2014/11/19 DOTA
[02:43]2018DOTA2亚洲邀请赛主赛事首日TOP5
2018/04/04 DOTA
浅谈Matplotlib简介和pyplot的简单使用——文本标注和箭头
2018/01/09 Python
Python 画出来六维图
2019/07/26 Python
sklearn-SVC实现与类参数详解
2019/12/10 Python
pandas按条件筛选数据的实现
2021/02/20 Python
纯DOM+CSS3实现简单的小风车动画
2016/09/27 HTML / CSS
JD Sports比利时官网:英国领先的运动鞋和运动服饰零售商
2018/10/10 全球购物
公司董事长职责
2013/12/12 职场文书
管理专员自荐信
2014/01/26 职场文书
开服装店计划书
2014/08/15 职场文书
检讨书1000字
2014/10/11 职场文书
继承权公证书范本
2015/01/23 职场文书
综合素质评价思想道德自我评价
2015/03/09 职场文书
python某漫画app逆向
2021/03/31 Python
python turtle绘图
2022/05/04 Python