BullMQ实现去重时保留最新任务的解决方案咨询
BullMQ实现去重时保留最新任务的解决方案咨询
各位大佬,想请教个BullMQ的实际使用问题:
我维护了一个叫deploy_site的队列,每个部署任务大概要跑20秒左右。为了避免同一个站点同时执行多个部署任务,我一开始用了基础的去重配置,代码如下:
deployQueue.add({ id: siteId }, { deduplication: { id: siteName } });
但现在遇到了一个头疼的情况:如果用户在某个站点的部署任务正在运行时修改了配置,然后触发新的部署请求,因为去重机制,这个新任务直接被丢弃了。结果就是除非用户再手动触发一次部署,否则永远没法用上最新的配置来部署站点。
想问问大家,这种场景下有没有什么优雅的处理方式呀?
备注:内容来源于stack exchange,提问作者Murat Çorlu
相关产品推荐
相关产品推荐

