我正在尝试使用 beanstalk 对大量周期性任务进行排队(例如,任务需要每 N 分钟处理一次),对于每个任务,如果最后一个排队的作业没有完成(我的意思是不是保留)当前作业是补充说,最后排队的作业应该替换为当前作业,换句话说,只应处理任务的最新排队作业。
我怎样才能使用beantalk实现这一目标?
我现在的想法是:对于每个任务,使用 memcached 存储其最新的时间戳(在将作业添加到队列时设置),每次工作人员成功保留作业时,它首先检查 memcached 中该任务的时间戳,如果时间戳为该作业与 memcached 中的时间戳相同,然后处理该作业,否则跳过该作业,并将其从队列中删除。
那么有没有更好的方法来做这样的工作呢?请提出您的建议,谢谢。