我是否应该为每个通知实施shouldQueue

时间:2020-01-21 12:31:18

标签: laravel web-push laravel-queue laravel-notification

我有一个名为NotifyUsersJob的工作类,该类当然实现了shouldQueue接口,这是Laravel给我的默认队列类。 在handle方法中,我有这个逻辑。

Notification::send($this->users, new NotifyUser($this->message));

在NotifyUser通知类中,我发送通知引发WebPushChannel。 我的问题是我是否也应该在NotifyUser类中实现shouldQueue,为什么我应该这样做? 顺便说一句,一切正常,都很好,但是我想知道正确的方法。

1 个答案:

答案 0 :(得分:1)

这取决于您要实现的目标。 如果要在后台运行通知,则可以。使用应当队列将创建在后台处理的作业,这样您就不必等到处理完毕。

但是,如果您认为您的应用程序可能在某个时候崩溃了,那么您将无法在那时和那里得到错误。如果将数据库用于队列,则必须从失败的作业表中提取。 这样我就可以了。

  1. 如果您认为您的通知可能需要花费一些时间来处理应使用的排队,以便它在后台运行并且您的应用程序处于落后状态
  2. 如果您认为如果通知不起作用,则需要立即获取错误,请不要使用shouldQueue