message
异步消息推送机制
正常异步消息唯一的task_id 取出执行机制与下相同
1.task_id 与用户或者群绑定单独作一个队列 user_id 绑定task_id
2.将task push 到异步队列
3.多进程循环 取出task,删除成功即执行该task 将该task放入已执行队列
4.插队的同时把,task id 放入重置队列
5.从队列取出执行完,若重置队列有该 task_id 重新加入到队列
6.个人pushManager 方法一轮推送完毕再把自己加入,异步队列(task_id)(轮询方法,) 每次推五分钟的
pop 取到 task_id 即执行 相应的task_message
执行完毕 检测插队队列有该task_id 即使队列task_id覆盖也不影响
因为单个用户绑定同一个task,某个用户上线需要即时推送消息插队,等同于提前推送他的消息,若消息较多即不断的插队
正在执行的时候若清掉task_id,则新一轮task_id插进来 成功会插两次队?