gpt4 book ai didi

laravel - 记录作业 dispatch 的来源

转载 作者:行者123 更新时间:2023-12-04 07:25:49 24 4
gpt4 key购买 nike

我很好奇你们是否知道任何简单可靠的方法来跟踪 Laravel 作业的来源。
我的用例是,我经常需要调试失败的作业,并且知道它们被调度的原因、地点和方式将非常有用,例如可以将其作为元数据添加到 Sentry 报告中。
我的意思是向作业添加属性可能会这样做,但我想知道是否有某种方法不会涉及单个作业中的代码更改。

最佳答案

我认为您正在寻找 招聘事件 ( Laravel documentation )
您可以将此添加到您的 app/Providers/AppServiceProvider.php - 引导()方法或者你可以创建一个 QueueJobProvider 例如,在 中添加您的提供商config/app.php ' 内供应商 ' key 。
通过此事件,您可以根据需要获得有效负载和更多属性。您可以在 Laravel 文档 here 中了解有关此问题的更多信息

use Illuminate\Queue\Events\JobProcessed;
use Illuminate\Queue\Events\JobProcessing;
use Illuminate\Queue\Events\JobFailed;
use Illuminate\Queue\Events\JobExceptionOccurred;

Queue::before(function (JobProcessing $event) {
// \Log::info($event);
// \Log::info($event->job->payload());
});

Queue::after(function (JobProcessed $event) {
// \Log::info($event);
// \Log::info($event->job->payload());
});

Queue::failing(function (JobFailed $event) {
// \Log::info($event);
// \Log::info($event->job->payload());
});

Queue::exceptionOccurred(function (JobExceptionOccurred $event) {
// \Log::info($event);
// \Log::info($event->job->payload());
});

关于laravel - 记录作业 dispatch 的来源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68223993/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com