Laravel:如何限制对排队通知的重试

Kim*_*nce 4 laravel

从 Laravel 手册中,我了解到我可以使用命令行(启动队列时)或通过设置$tries作业类本身的属性来限制重试排队作业的次数。 https://laravel.com/docs/5.6/queues#max-job-attempts-and-timeout

我想在作业本身中设置最大重试次数,而不是使用命令行,但是作业实际上是一个继承自 的自定义类 Illuminate\Notifications\Notification,而不是App\Job. 在这种情况下,是否可以限制尝试次数?

我尝试$tries在客户通知中设置该属性,但没有效果。我也在使用自定义频道,但设置$tries那里也没有效果。

Ole*_*set 6

在您的通知文件中添加Queueable特征。正是这种特性使您可以改变尝试次数。

use Illuminate\Bus\Queueable;

class MyNotification extends Notification implements ShouldQueue
{
    use Queueable;

    public $tries = 3;
Run Code Online (Sandbox Code Playgroud)