我很好奇,如果相关用户选择接收通知,我如何才能知道排队的作业何时成功完成以潜在地通知相关用户。
具体地说,我正在使用一个带有ShouldQueue特征的Laravel Excel导出。它包含一个方便的方法来处理失败的作业,因此如果需要,我可以在失败时通知用户(请参阅https://docs.laravel-excel.com/3.1/exports/queued.html#handling-failures-in-queued-exports)。我假设没有一些成功的方法是没有记录的,或者是我找不到的地方有记录的,所以……
有没有一种方法可以使用Laravel的排队系统来检测作业何时完成?即使我不真正知道状态(成功或失败),并且我只知道作业已完成,我也可以检查导出文件是否存在,以确认是否成功触发通知。
谢谢。
发布于 2021-04-08 14:25:50
您可以通过将以下代码添加到您的AppServiceProvider.php来管理这一点
public function boot()
{
Queue::before(function (JobProcessing $event) {
// $event->connectionName
// $event->job
// $event->job->payload()
});
Queue::after(function (JobProcessed $event) {
// $event->connectionName
// $event->job
// $event->job->payload()
});
}有关更多详细信息,请参阅https://laravel.com/docs/8.x/queues
https://stackoverflow.com/questions/66996179
复制相似问题