美文网首页
laravel 设置定时任务(任务调度)

laravel 设置定时任务(任务调度)

作者: 中v中 | 来源:发表于2020-01-09 00:24 被阅读0次

创建定时任务

crontab -e

#添加代码
* * * * * /usr/bin/php7.0 /var/www/html/laravel/artisan schedule:run >> /dev/null 2>&1

注意:/usr/bin/php7.0为你的php位置 ,* * * * *分别代表 分 时 日 月 周 (定时任务的时间) /var/www/html/laravel/为你的项目位置

查看定时任务

crontab -l

定义调度

在App\Console\Commands下创建Test.php

<?php namespace App\Console\Commands;

use Illuminate\Console\Command;
use Illuminate\Foundation\Inspiring;
use Log;

class Test extends Command {

    protected $name = 'test';//命令名称

    protected $description = '测试'; // 命令描述,没什么用

    /**
     * Execute the console command.
     *
     * @return mixed
     */
    public function handle()
    {
        log::info('test');
            // 功能代码写到这里
    }

}

编辑 app/Console/Kernel.php 文件,将新生成的类进行注册:

<?php namespace App\Console;

use Illuminate\Console\Scheduling\Schedule;
use Illuminate\Foundation\Console\Kernel as ConsoleKernel;

class Kernel extends ConsoleKernel {

    /**
     * The Artisan commands provided by your application.
     *
     * @var array
     */
    protected $commands = [
        \App\Console\Commands\Test::class,
    ];

    /**
     * Define the application's command schedule.
     *
     * @param  \Illuminate\Console\Scheduling\Schedule  $schedule
     * @return void
     */
    protected function schedule(Schedule $schedule)
    {
        $schedule->command('test')//Test.php中的name
                 ->everyFiveMinutes();//每五分钟执行一次
    }

}

PS:如果有多个定时任务,只需要参照test.php再次生成一个,Kernel.php中的commands数组中再添加新加的类,schedule中schedule->command('新name')->everyFiveMinutes();即可

常用:

->cron('* * * * *');    在自定义Cron调度上运行任务
->everyMinute();    每分钟运行一次任务
->everyFiveMinutes();   每五分钟运行一次任务
->everyTenMinutes();    每十分钟运行一次任务
->everyThirtyMinutes(); 每三十分钟运行一次任务
->hourly(); 每小时运行一次任务
->daily();  每天凌晨零点运行任务
->dailyAt('13:00'); 每天13:00运行任务
->twiceDaily(1, 13);    每天1:00 & 13:00运行任务
->weekly(); 每周运行一次任务
->monthly();    每月运行一次任务
->monthlyOn(4, '15:00');    每月4号15:00运行一次任务
->quarterly();  每个季度运行一次
->yearly(); 每年运行一次
->timezone('America/New_York'); 设置时区

相关文章

  • laravel 设置定时任务(任务调度)

    1)创建数据表 2)定义调度:在App\Console\Commands下创建Test.php 3)编辑 app/...

  • laravel 设置定时任务(任务调度)

    创建定时任务 查看定时任务 定义调度 在App\Console\Commands下创建Test.php 编辑 ap...

  • 学习Linux2

    linux 学习2 定时任务管理 crond 任务调度 crontab 进行 定时任务的设置 概述任务调度:是指系...

  • laravel任务调度-定时任务

    写在前面的话: 其实laravel的任务调度(定时任务)在文档中已经写得很清楚了,只是对于刚入门或者还不是很熟练的...

  • Linux任务调度

    crond任务调度 crontab用于定时任务的设置。任务调度:是指系统在某个时间执行的特定的命令或程序。任务调度...

  • Laravel 定时任务调度

    定义调度你可以在App\Console\Kernel类的schedule 方法中定义所有调度任务。在开始之前,先看...

  • Linux-7 任务调度

    crond 任务调度 crontab 进行定时任务的设置 概述 任务调度:是指系统在某个时间执行的特定的命令或程序...

  • Java定时任务调度工具详解

    本篇内容:什么是定时任务调度?Java定时任务调度工具详解之 Timer篇Java定时任务调度工具详解之 Quar...

  • laravel 任务调度

    1.在代码里面写调度任务,在Console文件夹下面Kernel.php写调取任务命令 2.在Commands文件...

  • laravel 任务调度

    创建定时任务文件 编辑文件内容 修改Kernel 文件 添加定时任务

网友评论

      本文标题:laravel 设置定时任务(任务调度)

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