📜  laravel 调度程序运行 - PHP (1)

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

Laravel 调度程序运行

简介

Laravel 调度程序是一种可以在预定时间运行的任务。这些任务可以是定期运行的任务,例如每小时备份数据库,也可以是一次性任务,例如在系统重启后重新启动队列工作进程。

如何使用
安装

调度程序在 Laravel 中是一个内置的功能,无需安装。

创建任务

可以使用 php artisan make:command 命令来创建一个新的任务。例如,运行以下命令以创建名为 SendEmails 的任务:

php artisan make:command SendEmails

这将在 app/Console/Commands 目录下创建一个新的 SendEmails 类。

编写任务

在任务类中实现 handle 方法,这是任务的主要逻辑。例如,以下代码将向所有注册用户发送电子邮件:

use Illuminate\Console\Command;
use App\User;

class SendEmails extends Command
{
    protected $signature = 'emails:send';
    protected $description = 'Send emails to registered users';

    public function handle()
    {
        $users = User::all();

        foreach ($users as $user) {
            Mail::to($user->email)->send(new WelcomeEmail($user));
        }
    }
}
注册任务

可以在 app/Console/Kernel.php 文件中注册任务。例如,以下代码将 SendEmails 任务注册为每日任务:

protected function schedule(Schedule $schedule)
{
    $schedule->command('emails:send')->daily();
}
运行调度程序

运行以下命令以启动 Laravel 调度程序:

php artisan schedule:run

调度程序将运行指定的任务,并在需要时调用 handle 方法。

总结

Laravel 调度程序是一个很方便的功能,允许我们预定和自动化任务。使用命令和 app/Console/Kernel.php 文件,我们可以轻松地定义和注册这些任务。