在Laravel中为事件定义队列

时间:2019-04-03 15:14:44

标签: laravel laravel-5 laravel-5.8

我有一个事件和该事件的侦听器。到目前为止,侦听器是可排队的,但始终将其设置为“默认”队列。就我而言,我需要灵活一些,以便可以在触发事件时定义队列。我还没有找到任何可以达到这个目的的东西。我想做的事情如下所示。

event(testEvent::class, [['Some', 'thing']])->onQueue(80);

但是,没有onQueue()方法。例如,如何将事件设置为“队列X”?

1 个答案:

答案 0 :(得分:0)

您的事件监听器应实现ShouldQueue。因此,它具有

public $queue = 'listeners';

属性和

public $connection = 'sqs';

属性。

您可以设置它们以自定义事件侦听器将使用的队列和连接。

下面是在触发事件时如何使用这些属性的示例。

$event = new TestEvent();
$event->queue = 'other-queue';
event($event);

有关更多参考,您可以阅读Laravel docs部分。