如何删除同名字所有队列或者后面的队列?
最进在学习think queue消息队列,遇到一个问题请教各位大神!
应用页面
$dataArray = array(['id' => 1, 'bizId' => '你好你好', ],['id' => 2, 'bizId' => '你好你好', ],['id' => 3, 'bizId' => '你好你好', ],['id' => 4, 'bizId' => '你好你好']);
$dateTime = 0; foreach($dataArray as $k => $v){
$dateTime = $dateTime + 60;
$jobData = ['id' => $v['id'], 'bizId' => $v['bizId']];
$isPushed = Queue::later($dateTime, 'app\api\job\Job1', $jobData, $jobQueueName);
}
消费页面
public function fire(Job $job, array $data)
{ if ($data['id'] == 2){
$job->delete();
echo "删除任务" . $job->attempts() . '';
}else{
$isJobDone = $this->doHelloJob($data);
$job->delete();
echo "删除任务" . $job->attempts() . '';
}
}
当id等于2的时候,要把后面的消息队列删除,可是用$job->delete只能删除当前的队列,请教大神们,如何删除后面的消息队列?
回答:
你是不是给自己加了个套啊,感觉不需要把后面的删掉,直接重置整个队列为空就行了。id=2的意思就是不再进行后续处理了,同时因为处理一个就删除一个,所以整个队列就作废了呗。
以上是 如何删除同名字所有队列或者后面的队列? 的全部内容, 来源链接: utcz.com/p/944601.html