📅  最后修改于: 2023-12-03 15:02:38.357000             🧑  作者: Mango
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
文件,我们可以轻松地定义和注册这些任务。