2016-10-30 66 views
1

有没有办法从Laravel的作业ID中获得排队的作业?在将作业添加到队列中时,我存储了作业ID。稍后在某个时间点(处理队列中的作业存在延迟),我想从队列中删除作业。如果我可以使用作业ID在队列中获得作业,则可以使用delete()方法将其删除。如何从Laravel的作业ID中获取排队作业?

回答

0

这是一个队列,所以你不能选择它,但是如果你也在队列外记录数据,你可以看看队列:: before(){}添加到AppServiceProvider.php来检查存储的ID或当他们脱离队列并在处理之前参考作业。

我也在这个领域工作,所以如果我找出这个代码,并会发布它,如果我这样做。正如你在before()中返回一个事件一样,所以你必须打开它并让Job去检查。

2

我用laravel 5.5这段代码:

use Illuminate\Contracts\Bus\Dispatcher; 

$job = (new JOB_CLASS())->onQueue('QUEUE_NAME')->delay('DELAY'); 
$id = app(Dispatcher::class)->dispatch($job); 
+0

这是唯一的途径伴侣吗? –

+1

@SantoshAchari老实说,我找不到任何其他解决方案,我认为这是最简单的方法。 – Armin

相关问题