Laravel进阶系列笔记--(十)Laravel win10使用Command实现定时任务
作者:温新
时间: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下的简单定时任务
我是温新
每天进步一点点,就一点点
请登录后再评论