如何跟踪队列作业的进度?

问题描述 投票:2回答:2

我在laravel中使用数据库队列驱动程序在后台运行作业。

我的一个作业在数据库中创建了一个给定的数字(数千到数十万)记录。我在事务中包装了此作业的代码,以便在作业失败的情况下,不会提交数据库写入。

最初是为了跟踪作业的进度,我想我会计算创建记录的数量,除以预期记录的总数,然后在ui中显示每个作业的百分比,以便用户可以知道他们需要等待多长时间。

这不起作用,因为表在事务期间被锁定。

我想知道是否有人知道排队工作的跟踪进度

message-queue laravel-5.1
2个回答
3
投票

对于那些偶然发现这个问题的人来说,有一个包允许:https://github.com/imTigger/laravel-job-status


2
投票

正如http://laravel.com/docs/5.1/queues#job-events所说

作业成功完成后,可以调用Queue :: after方法

正如http://laravel.com/docs/5.1/queues#failed-job-events所说

排队作业失败时,可以调用Queue :: failing方法

希望这有用:)

© www.soinside.com 2019 - 2024. All rights reserved.