0

我正在开发一个需要检查 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));
}

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

4

1 回答 1

0

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

然后,如果您不想从特定运行的“默认”队列中获取作业,则可以忽略它。

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

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

于 2017-10-07T00:27:42.273 回答