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中SQL注入攻击与XSS攻击
Jun 10 PHP
PHP 清空varnish 缓存的详解(包括指定站点下的)
Jun 20 PHP
php配置php-fpm启动参数及配置详解
Nov 04 PHP
PHP父类调用子类方法的代码例子
Apr 09 PHP
php返回当前日期或者指定日期是周几
May 21 PHP
用php代码限制国内IP访问我们网站
Sep 26 PHP
详解PHP中的null合并运算符
Dec 30 PHP
开启PHP的伪静态模式
Dec 31 PHP
PHP中each与list用法分析
Jan 08 PHP
ThinkPHP开发--使用七牛云储存
Sep 14 PHP
利用php获得flv视频长度的实例代码
Oct 26 PHP
php实现支付宝当面付(扫码支付)功能
May 30 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
CodeIgniter php mvc框架 中国网站
2008/05/26 PHP
PHP 获取MSN好友列表的代码(2009-05-14测试通过)
2009/09/09 PHP
从Web查询数据库之PHP与MySQL篇
2009/09/25 PHP
php+mysqli事务控制实现银行转账实例
2015/01/29 PHP
PHP+MySQL之Insert Into数据插入用法分析
2015/09/27 PHP
PHP基于单例模式实现的mysql类
2016/01/09 PHP
PHP操作路由器实现方法示例
2019/04/27 PHP
laravel框架中视图的基本使用方法分析
2019/11/23 PHP
one.php 多项目、函数库、类库 统一为一个版本的方法
2020/08/24 PHP
jQuery操作input值的各种方法总结
2013/11/21 Javascript
基于jQuery的判断iPad、iPhone、Android是横屏还是竖屏的代码
2014/05/11 Javascript
jquery通过name属性取值的简单实现方法
2016/06/20 Javascript
js完整倒计时代码分享
2016/09/18 Javascript
bootstrap table之通用方法( 时间控件,导出,动态下拉框, 表单验证 ,选中与获取信息)代码分享
2017/01/24 Javascript
微信小程序canvas拖拽、截图组件功能
2018/09/04 Javascript
vue中使用codemirror的实例详解
2018/11/01 Javascript
vue中引入第三方字体文件的方法示例
2018/12/17 Javascript
python使用在线API查询IP对应的地理位置信息实例
2014/06/01 Python
Python 执行字符串表达式函数(eval exec execfile)
2014/08/11 Python
python基于C/S模式实现聊天室功能
2019/01/09 Python
在Pycharm中调试Django项目程序的操作方法
2019/07/17 Python
pandas factorize实现将字符串特征转化为数字特征
2019/12/19 Python
pytorch GAN伪造手写体mnist数据集方式
2020/01/10 Python
Python json模块与jsonpath模块区别详解
2020/03/05 Python
Django bulk_create()、update()与数据库事务的效率对比分析
2020/05/15 Python
python实现简单的五子棋游戏
2020/09/01 Python
css3中用animation的steps属性制作帧动画
2019/04/25 HTML / CSS
一组SQL面试题
2016/02/15 面试题
师说教学反思
2014/02/07 职场文书
环保口号大全
2014/06/12 职场文书
用 Python 定义 Schema 并生成 Parquet 文件详情
2021/09/25 Python
Nginx stream 配置代理(Nginx TCP/UDP 负载均衡)
2021/11/17 Servers
MySQL图形化管理工具Navicat安装步骤
2021/12/04 MySQL
Python安装使用Scrapy框架
2022/04/12 Python
html中相对位置与绝对位置的具体使用
2022/05/15 HTML / CSS
教你win10系统中APPCRASH事件问题解决方法
2022/07/15 数码科技