Laravel框架定时任务2种实现方式示例


Posted in PHP onDecember 08, 2018

本文实例讲述了Laravel框架定时任务2种实现方式。分享给大家供大家参考,具体如下:

第一种

1、生成一个commands文件

> php artisan make:command test

2、打开文件进行修改

laravel\App\Console\Commands\test.php

<?php
namespace App\Console\Commands;
use Illuminate\Console\Command;
use Illuminate\Support\Facades\Log;
class test extends Command
{
 /**
  * The name and signature of the console command.
  *
  * @var string
  */
 protected $signature = 'test:insert'; // php artisan list 中将会生成 "php artisan test:insert " 指令
 /**
  * The console command description.
  *
  * @var string
  */
 protected $description = 'insert Test table some test data'; // 对上面指令的描述
 /**
  * Create a new command instance.
  *
  * @return void
  */
 public function __construct()
 {
  parent::__construct();
 }
 /**
  * Execute the console command.
  *
  * @return mixed
  */
 public function handle()
 {
  // 编写你要的定时任务执行的代码!
  # eg
 Log::info('test');
 }
}

> php artisan list 查看

Laravel框架定时任务2种实现方式示例

3、然后修改: laravel\app\Console\Kernel.php 文件

<?php
namespace App\Console;
use Illuminate\Console\Scheduling\Schedule;
use Illuminate\Foundation\Console\Kernel as ConsoleKernel;
class Kernel extends ConsoleKernel
{
 protected $commands = [
  // 参考手册 新加
  \App\Console\Commands\test::class,
 ];
 // 定义应用的命令调度
 protected function schedule(Schedule $schedule)
 {
   // 新加 每分钟执行一次
  $schedule->command('test:insert')->everyMinute();
 }
 protected function commands()
 {
  $this->load(__DIR__.'/Commands');
  require base_path('routes/console.php');
 }
}

4、启用计划任务:在服务器中加入到计划任务 crontab -e

注意这里的 path 是你的laravel项目根目录的 绝对路径!, 然后加上后面的 artisan 到结尾的字符串

* * * * * php /path/artisan schedule:run >> /dev/null 2>&1
* * * * * php /code/src/laravel/artisan schedule:run >> /dev/null 2>&1

5、打开日志文件查看

laravel\storage\logs\laravel.log

第二种

使用 shell脚本执行

因为 php artisan list 可以查看到 执行指令 test:insert

所以可以考虑用 .sh 脚本执行,还是类似上面 crontab -e编写

1、先编写 .sh 脚本 laravel/test.sh 放在项目某个位置,文件内写入

php artisan test:insert

上面指令在命令行手动每执行一次就可以触发一次编写的程序,相当于给 laravel.log 写入一次 test

2、使用 crontab -e 编写 执行 第一步写的 test.sh 脚本

* * * * * laravel/test.sh

以上两种均可看到 laravel.log 日志

Laravel框架定时任务2种实现方式示例

希望本文所述对大家基于Laravel框架的PHP程序设计有所帮助。

PHP 相关文章推荐
用PHP制作静态网站的模板框架(三)
Oct 09 PHP
初次接触php抽象工厂模式(Elgg)
Mar 21 PHP
snoopy 强大的PHP采集类使用实例代码
Dec 09 PHP
PHP读取ACCESS数据到MYSQL的代码
May 11 PHP
解析PHP正则提取或替换img标记属性
Jun 26 PHP
php面象对象数据库操作类实例
Dec 02 PHP
PHP连接操作access数据库实例
Mar 30 PHP
编写PHP脚本使WordPress的主题支持Widget侧边栏
Dec 14 PHP
PHP中的session安全吗?
Jan 22 PHP
浅析PHP开发规范
Feb 05 PHP
php 命名空间(namespace)原理与用法实例小结
Nov 13 PHP
Laravel6.18.19如何优雅的切换发件账户
Jun 14 PHP
PHP单例模式模拟Java Bean实现方法示例
Dec 07 #PHP
thinkPHP框架实现的简单计算器示例
Dec 07 #PHP
PHP实现的简单留言板功能示例【基于thinkPHP框架】
Dec 07 #PHP
laravel5使用freetds连接sql server的方法
Dec 07 #PHP
php多进程模拟并发事务产生的问题小结
Dec 07 #PHP
Ubuntu 16.04中Laravel5.4升级到5.6的步骤
Dec 07 #PHP
PHP ajax+jQuery 实现批量删除功能实例代码小结
Dec 06 #PHP
You might like
亚洲咖啡有什么?亚洲咖啡产地介绍 亚洲咖啡有什么特点?
2021/03/05 新手入门
php面向对象全攻略 (四)构造方法与析构方法
2009/09/30 PHP
php字符串按照单词进行反转的方法
2015/03/14 PHP
PHP实现链式操作的原理详解
2016/09/16 PHP
thinkPHP框架实现的短信接口验证码功能示例
2018/06/20 PHP
PHP时间处理类操作示例
2018/09/05 PHP
Jquery实战_读书笔记1—选择jQuery
2010/01/22 Javascript
鼠标滚轮控制网页横向移动实现思路
2013/03/22 Javascript
JS创建事件的三种方法(实例代码)
2016/05/12 Javascript
浅谈js中字符和数组一些基本算法题
2016/08/15 Javascript
如何用JS/HTML将时间戳转换为“xx天前”的形式
2017/02/06 Javascript
JS库 Highlightjs 添加代码行号的实现代码
2017/09/13 Javascript
vue中手机号,邮箱正则验证以及60s发送验证码的实例
2018/03/16 Javascript
vue给组件传递不同的值方法
2018/09/29 Javascript
记录vue做微信自定义分享的一些问题
2019/09/12 Javascript
简单使用webpack打包文件的实现
2019/10/29 Javascript
详解JavaScript中new操作符的解析和实现
2020/09/04 Javascript
[04:26]DOTA2上海特锦赛小组赛第二日 TOP10精彩集锦
2016/02/27 DOTA
python从sqlite读取并显示数据的方法
2015/05/08 Python
python让列表倒序输出的实例
2018/06/25 Python
Python运维开发之psutil库的使用详解
2018/10/18 Python
Django高级编程之自定义Field实现多语言
2019/07/02 Python
Python 使用threading+Queue实现线程池示例
2019/12/21 Python
python进行参数传递的方法
2020/05/12 Python
python:删除离群值操作(每一行为一类数据)
2020/06/08 Python
利物浦足球俱乐部官方商店(美国):Liverpool FC US
2019/10/09 全球购物
俄罗斯购买自行车网站:Vamvelosiped
2021/01/29 全球购物
打架检讨书800字
2014/01/10 职场文书
报关员个人职业生涯规划书
2014/03/12 职场文书
法人代表证明书格式
2014/10/01 职场文书
迁户口计划生育证明
2014/10/19 职场文书
12.4全国法制宣传日活动方案
2014/11/02 职场文书
党员检讨书范文
2014/12/27 职场文书
佛光寺导游词
2015/02/10 职场文书
公司开除员工通知
2015/04/22 职场文书
革命电影观后感
2015/06/18 职场文书