📜  laravel 本地运行计划 - PHP (1)

📅  最后修改于: 2023-12-03 15:17:15.400000             🧑  作者: Mango

Laravel 本地运行计划 - PHP

简介

在使用Laravel进行开发时,服务器上可以设置计划任务,但是本地开发时可能无法进行计划任务调度。本文将介绍如何在Laravel本地环境中进行计划任务调度。

步骤
安装laravel-task-scheduler包

在使用Laravel进行开发时,可以使用 laravel-task-scheduler 包来实现本地计划任务。可以使用以下命令进行安装:

composer require spatie/laravel-task-scheduler
注册服务提供器

Spatie\TaskScheduler\TaskSchedulerServiceProvider::class 添加到 config/app.php 中的 providers 中。

'providers' => [
    // ...
    Spatie\TaskScheduler\TaskSchedulerServiceProvider::class,
],
创建任务

创建一个任务,用于描述要运行的任务代码。任务的类必须实现 Spatie\TaskScheduler\Tasks\Task 接口。

use Spatie\TaskScheduler\Tasks\Task;

class UpdateSomething implements Task
{
    public function __construct($arguments = null)
    {
        $this->arguments = $arguments;
    }

    public function __invoke()
    {
        // update something
    }
}
在调度器中注册任务

app/Console/Kernel.php 中的 schedule 方法中注册任务

protected function schedule(Schedule $schedule)
{
    $schedule->command('my:command')->hourly();

    $schedule
        ->call(new UpdateSomething())
        ->everyMinute();
}
运行调度器

使用以下命令运行调度器:

php artisan task:scheduler
结论

使用 laravel-task-scheduler 包,可以方便地在本地环境中运行Laravel计划任务。通过注册任务和调度器,可以定期地执行指定的代码,以完成各种重复性任务。