我在 pheanstalk 中的队列有问题(版本:3.0.2)。队列中有 0-10k 个作业,有时我必须在此队列中搜索数据并添加下一个作业。所以我想添加不存在的工作。
在 Pheanstalk 类中,我看不到在工作中搜索的方法,也没有将这个工作移动到“当前工作保留”。
所以我需要快速的方法,只读取作业中的数据而不保留。
我的例子:
public function searchId($id)
{
$pheanstalk = $this->getPhenstalk();
while ($job = $pheanstalk->reserveFromTube(self::TUBE)) {
$json = $job->getData();
$data = json_decode($json, true);
if($data['id'] == $id){
return true;
}
$pheanstalk->release($job);
}
return false;
}
但是 relase() 需要很多时间。我该怎么做?