首页 > 代码库 > 实践:耗时短的任务和耗时长的任务
实践:耗时短的任务和耗时长的任务
一、耗时长的任务:消耗时间长的任务,以睡眠两秒为例。
二、耗时短的任务:消耗时间短的任务,以分配耗时长的任务到指定进程为例。
三、任务分配进程:异步进程。将收到的长耗时任务 以对同一用户的多次操作要排队的原则 分配到任务进程。
补充:
1. hash:key + value,以key取值的圆环式增长实现hash圆环。
1.1 hash:key+1保存未被分发的任务,max_key记录当前最大的key,min_key记录当前未被分发出去的最小的key。
2.保存未完成的正在处理的任务。
3.任务处理完成后向分配任务进程发送已完成任务。
4.发放任务前检查未完成的任务,如果当前要发送的任务的user存在未被执行完的任务则当前的任务不可发放。
5.如果积压了大量未被发放的任务,怎么处理?
尚未做:模拟该方案的具体实现。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。