一个需求问题 求提供方案(可打赏)

ikun

问题描述

截图

接到一个开发任务,需求是当报警超过X分钟未处理则通知用户,
我打算用redis-queue任务队列来做,当某个设备触发报警时 就把[设备id]和[触发时间]字段插入到任务队列,
,消费者进程获得[设备id]和[触发时间]字段,然后以[设备id]字段为条件查询数据库表判断[触发时间]是否超过报警时间.
超过报警时间则进行消息通知,未超过报警时间则插入任务队列进行下一个循环的消费

这个方案我总感觉不够好. 不知道论坛里的朋友们有没有做过类似的需求 能提供更优秀的解决方案 我可以打赏

468 1 0
1个回答

Gin

延时队列去处理, 5分钟后执行, 查询是否已处理, 处理则不通知

  • ikun 2023-04-27

    这个分钟数是可以进行调整 并且可以删除的

  • Gin 2023-04-27

    这个分钟数,会不会存表, 存表的话, 给个标志, 更新时间啥的, 执行的时候对比更新时间 确认是否执行

  • enmm 2023-04-27

    分钟数不影响,不设置时 不插入消息队列。已插入的消息队列还是按原设置的时间来通知

年代过于久远,无法发表回答
🔝