阅读(598) (9)

Laravel 8 任务失败事件

2021-07-06 09:25:10 更新

如果你想要注册一个将在任务失败时调用的事件,你可以使用 Queue::failing 方法。这是一个通过电子邮件或 Slack 通知你的团队的好机会。例如,我们可以在 Laravel 里的 AppServiceProvider 里附加一个回调到这个事件:

<?php

namespace App\Providers;

use Illuminate\Support\Facades\Queue;
use Illuminate\Support\ServiceProvider;
use Illuminate\Queue\Events\JobFailed;

class AppServiceProvider extends ServiceProvider
{
    /**
     * 注册任何应用程序服务
     *
     * @return void
     */
    public function register()
    {
        //
    }

    /**
     * 引导任何应用程序服务
     *
     * @return void
     */
    public function boot()
    {
        Queue::failing(function (JobFailed $event) {
            // $event->connectionName
            // $event->job
            // $event->exception
        });
    }
}