接到一个开发任务,需求是当报警超过X分钟未处理则通知用户, 我打算用redis-queue任务队列来做,当某个设备触发报警时 就把[设备id]和[触发时间]字段插入到任务队列, ,消费者进程获得[设备id]和[触发时间]字段,然后以[设备id]字段为条件查询数据库表判断[触发时间]是否超过报警时间. 超过报警时间则进行消息通知,未超过报警时间则插入任务队列进行下一个循环的消费
这个方案我总感觉不够好. 不知道论坛里的朋友们有没有做过类似的需求 能提供更优秀的解决方案 我可以打赏
延时队列去处理, 5分钟后执行, 查询是否已处理, 处理则不通知
这个分钟数是可以进行调整 并且可以删除的
这个分钟数,会不会存表, 存表的话, 给个标志, 更新时间啥的, 执行的时候对比更新时间 确认是否执行
延时队列去处理, 5分钟后执行, 查询是否已处理, 处理则不通知
这个分钟数是可以进行调整 并且可以删除的
这个分钟数,会不会存表, 存表的话, 给个标志, 更新时间啥的, 执行的时候对比更新时间 确认是否执行