Coding。

Laravel定时任务调度例子——统计每周新增的用户数量

2017-01-17  本文已影响2451人  iLevitate

Laravel定时任务调度例子——统计每周新增的用户数量


一、创建 Command 文件

  1. 输入命令 php artisan make:command CountUser 即在(app/Console/Commands 下创建了 CountUser.php 文件)

  2. 完善 Command 信息

    • 签名
      protected $signature = 'CountUser';

    • 描述
      protected $description = '统计每周新增的用户数';

    • 在 handle() 方法中实现功能

      public function handle()
      {
          $time = date("Y-m-d H:i:s",time());
          $front = date("Y-m-d H:i:s",strtotime("-7 day"));
          $count = User::whereBetween('created_at',[$front,$time])->count();
          //更多逻辑省略
      }
      

二、在 Kernel.php 中注册命令并填写执行计划

  1. 注册命令

    protected $commands = [
        \App\Console\Commands\CountUser::class,
    ];
    
  2. 填写执行计划(每周一凌晨执行统计)

     protected function schedule(Schedule $schedule)
     {
        $schedule->command('CountUser')->weekly()->mondays()->at("00:00:00");
     }
    

三、新建 cron.txt 文件

php和artisan最好写绝对路径,php可以用 which php 命令查看位置

   * * * * * php /var/www/html/artisan schedule:run >> /dev/null 2>&1  

四、用命令开启任务

  1. crontab cron.txt

  2. 开始定时任务: crontab -l

  3. 需要结束任务的命令: crontab -r

上一篇 下一篇

猜你喜欢

热点阅读