如何判断某些数据是否还在队列中?

yysu

问题描述

我这里进队列的数据大概是这样的格式:
['id'=>1,'uuid'=>'aaaa--xxx','xx'=>'yy'],
['id'=>2,'uuid'=>'aaaa--xxx','xx'=>'yy'],
['id'=>3,'uuid'=>'bbbb--xxx','xx'=>'yy'],
['id'=>3,'uuid'=>'bbbb--xxx','xx'=>'yy'],
['id'=>4,'uuid'=>'bbbb--xxx','xx'=>'yy'],
['id'=>5,'uuid'=>'cccc--xxx','xx'=>'yy'],

以uuid为单位一组一组的数据,我想判断我指定的uuid是否已经执行完毕,因为后面的业务是当一组的数据处理完毕后,还要进行其他的处理。

为此你搜索到了哪些方案及不适用的原因

目前想到的是启动一个定时器去轮训 aaaa bbbb cccc 这三组是否已经完毕,完毕后会打上标志,进行后续的操作。
现在的问题是,不知道如何判断 指定的组是否在队列中已经处理完毕了。
有没有遇到类似问题的朋友。谢谢。

834 1 0
1个回答

缝合

你应该用单独的存储去做这件。例如你可以现在db中插入一条 task id = 1 status =0 表示 任务待插入,插入后更新为 1 表示已经插入,如果后续执行成功的时候再更改为 status=2 。 直接查询队列的话,看你用的什么了。不是很方便的。

  • 暂无评论
年代过于久远,无法发表回答
×
🔝