现在有这个业务类型于发单子
客户发送一条派单任务 比如有10个用户(团队) 一个任务只能有一个用户进行接受 客户发送派单任务 然后发个消息通过微信公众号通知用户 这边用户只有5分钟时间进行接单如果接单了这个任务就结束了如果在5分钟内没有接单 就自动发送第二个用户接单了就完成了。
然后客户有新的任务就要从第三个用户进行通知 就这样进行依次通知】
如果这个任务10个用户都没有接单就挂起通知客户让他重新派单
怎么保证这个通知用户信息不能短了?
有人做过这个业务吗?
不能短了是什么意思?
这个场景有很多思路可以解决
说个思路,你可以在缓存里面定义一个map,key为任务单号,value为接单客户号
当新来一个单时,缓存里新建一个映射,并想id为1的客户派单,并在此时创建一个定时任务,定时5分钟
如果5分钟内1接单了,在缓存删除次记录
5分钟后定时任务触发,查找缓存,此订单有记录说明没人接,重复上一步派单,并再度生成一个定时任务,如果没有记录则不进行操作
当定时任务发现客户派完了,就反馈重新派单