如何使用pheanstalk从laravel中的预留作业中获取作业数据?

时间:2017-09-25 08:33:21

标签: laravel queue beanstalkd pheanstalk

我正在开发一项功能,我需要检查beanstalkd队列中的作业状态。我尝试过一些事情,但我没有得到为默认队列

以外的队列保留的作业
$pheanstalk = \Illuminate\Support\Facades\Queue::getPheanstalk();
$pheanstalk->useTube('import-live');
$pheanstalk->watch('import-live');
while ($job = $pheanstalk->reserve(0)) {
    var_dump(json_decode($job->getData(), true));
}

这是我尝试过的。但我仍然获得默认队列的数据。任何人都知道如何获取导入实时队列的数据?或者我在系统中运行的任何其他队列。基本上我想获取系统中所有队列的数据。

1 个答案:

答案 0 :(得分:0)

首先 - 确保其他队列中有作业。

然后,如果你不想从“默认”中获得工作。对于特定运行的队列,您可以忽略它。

$job = $pheanstalk
    ->watch('import-live')
    ->watch('import-other')
    ->ignore('default')
    ->reserve();

->useTube('..')仅在put()消息进入队列时使用。