Laravel任务调度定时任务

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_34827048/article/details/75144249

日常开发中可能需要定时去执行一些东西,例如定时检查数据库状态是否更新,定时插入数据,这个时候需要借助Linux的crontab 来定时执行


  • 首先执行
crontab -e 
  • 添加代码
* * * * * php 项目的路径/artisan schedule:run >> /dev/null 2>&1

* 就是代表 (分 时 日 月 周)
  • 注意:/usr/local/bin/php 这个是php的根目录跟路径 后面是项目路径

* * * * * /usr/local/bin/php /Users/yanbin/workspace/www/brow/artisan schedule:run >> /dev/null 2>&1

crontab -l 可以列出当前的定时任务


定义调度

  • 你可以在App\Console\Kernel类的schedule方法中定义所有调度任务。
<?php

namespace App\Console;

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

class Kernel extends ConsoleKernel{
    /**
     * 定义Artisan命令
     * 
     * @var array
     */
    protected $commands = [
        App\Console\Commands\Inspire::class,

        //通过命令执行可以执行定时
        App\Console\Commands\PushEmailCampaign::class,

    ];

    /**
     * 定义应用的命令调度
     *
     * @param  \Illuminate\Console\Scheduling\Schedule  $schedule
     * @return void
     */
    protected function schedule(Schedule $schedule)
    {

           $schedule->call(function () {
                Log::info('任务调度');
           })->everyMinute();
                 //Log::useFiles(storage_path('logs/emailtrigger'.date('Ymd').'.log'));
          //   Log::info('emailtrigger log: '.'log');

          //每分钟调用邮件营销活动检查命令,处理满足条件的邮件营销活动任务推送
           $schedule->command('emailcampaigns:push')->everyMinute();
    }
}
schedule方法是两种定义定时的方法,最后一个是通过command命令可以去执行(测试一下就知道了)

 记得在这里加入:protected $commands = [];

常用:

->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');    每月415:00运行一次任务
->quarterly();  每个季度运行一次
->yearly(); 每年运行一次
->timezone('America/New_York'); 设置时区

一篇诗,一斗酒,一曲长歌,一剑天涯

猜你喜欢

转载自blog.csdn.net/qq_34827048/article/details/75144249