Laravel 8 事件监听器队列

2021-07-14 17:28 更新

如果你的监听器中要执行诸如发送电子邮件或发出 HTTP 请求之类的耗时任务,你可以将任务丢给队列处理。在开始使用队列监听器之前,请确保在你的服务器或者本地开发环境中能够 配置队列 并启动一个队列监听器。

要指定监听器启动队列,你可以在监听器类中实现 ShouldQueue 接口。由 Artisan 命令 event:generate 生成的监听器已经将此接口导入到当前命名空间中,因此你可以直接使用:

<?php

namespace App\Listeners;

use App\Events\OrderShipped;
use Illuminate\Contracts\Queue\ShouldQueue;

class SendShipmentNotification implements ShouldQueue
{
    //
}

就是这样!现在,当这个监听器被事件调用时,事件调度器会自动使用 Laravel 的队列系统 自动排队。如果在队列中执行监听器时没有抛出异常,任务会在执行完成后自动从队列中删除。


以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号