Laravel进阶系列笔记--(十)Laravel win10使用Command实现定时任务

作者: 温新

分类: 【Laravel】

阅读: 2426

时间: 2021-08-23 13:29:33

作者:温新

时间:2021-07-10

hi,我是温新,一名PHPer。

为了保持文章完整性,本篇文章仍旧采用从第一步开始的方式进行进行。关于win10实现定时任务那一步本篇文章不再记录,请查看 Laravel进阶系列笔记--(9)Laravel win10下的简单定时任务 这篇文章。

Laravel中使用command实现定时任务

第一步:创建command

php artisan make:command TestCommand

该命令会在app/Console/Commands目录下生成对应的文件。Commands目录默认不存在,执行命令时会自动创建。生成的文件内容如下:

<?php
namespace App\Console\Commands;
use Illuminate\Console\Command;

class TestCommand extends Command
{
	// 命令名称
    protected $signature = 'command:name';
	// 命令描述
    protected $description = 'Command description';

    public function __construct()
    {
        parent::__construct();
    }
    // 定时任务处理逻辑
    public function handle()
    {
        return 0;
    }
}

第二步:修改生成的文件

文件:app/Console/Commands/TestCommand.php

use Illuminate\Support\Facades\Log;

protected $signature = 'sche:test';
public function handle()
{
    // 需要处理的任务
    Log::info('command命执行的定时任务');
}

第三步:调用定时任务

文件:app/Console/Kernel.php

protected function schedule(Schedule $schedule)
{
    // 传入TestCommand中定义的命令名称
    $schedule->command('sche:test')->everyMinute()
}

第四步:执行定时任务

这一步跟上篇文章中的 第四步 完全一致,因此本篇文章不再记录。请参考 Laravel进阶系列笔记--(9)Laravel win10下的简单定时任务

我是温新

每天进步一点点,就一点点

请登录后再评论