请问一下老师,我这里有需求需要任务并发执行,并要能限制并发数量,并且有些特殊情况要指定woker节点执行
来源:8-9 利用分布式锁避免任务并发(下)
慕后端9244394
2019-02-28
请问一下老师,我这里有需求需要任务并发执行,并要能限制并发数量,并且有些特殊情况要指定woker节点执行
比如有些任务只有某些机器上有执行环境,现在我不知道怎么指定节点,并发数量如何控制?求老师给点思路,解决方案,谢谢老师。还有一点就是,老师在讲 jobPlanTable map[string]*common.JobSchedulePlan jobExecutingTable map[string]*common.JobExecuteInfo 这两个map会不会有线程安全问题?
写回答
1回答
-
小鱼儿老师
2019-03-04
HI,在Q群里已经回复你了。
1,支持并发执行:在Job对象里加并发数量,worker调度任务时同时拉起N个协程,分别抢占N把etcd中的子锁即可。
2,限制执行节点:在Job对象里加worker白名单,worker做判定即可。
3,不存在线程安全问题,没有并发的读写逻辑。
00
相似问题