美文网首页
laravel5.1 定时任务

laravel5.1 定时任务

作者: 陌_7706 | 来源:发表于2018-05-29 16:35 被阅读0次

https://blog.csdn.net/zhezhebie/article/details/79205414

1.创建任务计划的主文件:

php artisan make:console 定时文件名

也可以跟--command testconsole,这个就是命令的标识,加了的话待会儿在运行php artisan list的时候就可以看到这个命令,如果不加,看不到,但是照样可以执行。

执行以上命令之后,会生成如下文件,我的开发环境是win10,执行计划任务最后是在Linux上执行,Windows下面只要测试通过了就可以传到Linux下。

app\Console\Commands\定时文件名.php

2.进到这个文件,修改一下代码:

这个里面就三个参数,

signature:信号的名字;

description:任务描述;

handle():方法就是要执行的代码了,里面和写一般的controller方法一样,该引用的还是要引用;

3.写定时器:

进到app\Console\Kernel.php修改如下代码:

commands:里面需要把要用的定时任务的class都引进来;

schedule:里面就可以定义执行的命令和执行的周期。

其他可用周期可以查看如下文件:

vendor\laravel\framework\src\Illuminate\Console\Scheduling\Event.php

4.下面我们就在windows下面测试一下能否正常执行:

php artisan signature(信号的名字)

我在测试的方法里面没有进行输出,所以执行完命令之后没反应,但是我们直接去日志文件,可以看到我们的log信息已经写进去了,这表明任务计划代码没有问题,windows下面只能测试,真正执行任务计划要到linux下面去,windows下面也可以执行任务计划,但是比较繁琐,这里仅仅测试代码是否按照我们预想的执行.

执行结果如下:

5.把代码推到linux下,编辑定时任务:

sudo crontab -e

!!!是不是需要每见一个计划任务就建个专门的命令和专门的文件?可不可以在一个文件里面写所有的任务计划? 

解决方案如下:

1、运行命令并把结果发送邮件:

$schedule->command('cache:clear')

    ->hourly()

    ->sendOutputTo($filePath)

    ->emailOutputTo('john@doe.com');

2、直接调用类里面额方法:

$schedule->call('SomeClass@method')->dailyAt('10:00');

3、闭包调用:

$schedule->call(function(){

    //..

})->everyThirtyMinutes();

4、命令行:

$schedule->terminal('gulp task')->fridays()->when(function(){

    return true;

    });

http://laravelacademy.org/post/235.html  更多laravel定时

相关文章

  • laravel5.1 定时任务

    https://blog.csdn.net/zhezhebie/article/details/79205414 ...

  • 2019-07-31定时任务

    定时任务 定时任务实现方法 系统默认定时任务 用户自定义设置定时任务 定时任务配置文件 定时任务启动 定时任务样例...

  • 分布式定时调度-xxl-job

    一、定时任务概述 1.1 定时任务认识 1.1.1 什么是定时任务 定时任务是按照指定时间周期运行任务。使用场景为...

  • day 22 操作系统定时任务

    系统定时任务概念==生活中闹钟 系统定时任务实现方法: 实现定时任务配置: 定时任务如何进行设置 定时任务编写常见...

  • 7月30日 定时任务

    定时任务 代替人自动完成一些任务 定时任务实现的方法 定时任务软件:cronie定时任务软件:atd --- 设...

  • SpringBoot 定时任务

    1.如何定时任务 1.1 开启定时任务 1.2 @Scheduled(预定的)选择要定时执行的任务 == 定时在前...

  • crontab 定时任务

    查看当前用户的定时任务列表 创建(编辑)定时任务列表 定时任务格式 删除定时任务 注意 一定要设置crontab的...

  • 2019-10-14 定时任务方案

    定时任务方案 定时任务实现

  • Linux定时任务Crontab

    定时任务服务提供crontab命令来设定任务 定时任务命令: 定时任务服务提供crontab命令来设定任务 cro...

  • Android中 Handler延时 定时任务

    1.延时 2.定时任务,间隔固定时间执行某项任务 3.定时任务,间隔固定时间执行某项操作后关闭定时任务 参考:ht...

网友评论

      本文标题:laravel5.1 定时任务

      本文链接:https://www.haomeiwen.com/subject/mpeajftx.html