0

使用可排队通知时:

class MyNotification extends Notification implements ShouldQueue
{

    use Queueable;
}

我如何处理失败的工作?如果我已经通过作业类发送了电子邮件/通知,我可以使用 failed 方法:

public function failed(Exception $exception) {

  Log::debug('MyNotification failed');

}

但是通知中的失败方法不起作用

4

2 回答 2

1

Caddy DZ 是正确的,有一个用于通知的 handle() 方法: https ://github.com/illuminate/notifications/blob/master/SendQueuedNotifications.php#L92

我的问题不是导入 Exception 类,代码应该是:

public function failed(\Exception $exception) {

  Log::debug('MyNotification failed');

}
于 2019-09-26T21:08:35.050 回答
1

你应该在这里查看 Laravel 文档。

例如,在您的 AppServiceProvider 中,您可以添加:

public function boot()
{
    Queue::failing(function (JobFailed $event) {
        // $event->connectionName
        // $event->job
        // $event->exception
    });
}

处理失败的作业不是通知的责任,而是队列的责任。

于 2019-09-25T20:23:10.193 回答