如何删除同名字所有队列或者后面的队列?

最进在学习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

回到顶部