请问一下老师,我这里有需求需要任务并发执行,并要能限制并发数量,并且有些特殊情况要指定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,不存在线程安全问题,没有并发的读写逻辑。

0
0

Go语言开发分布式任务调度 轻松搞定高性能Crontab

分布式系统设计+高并发细节处理,一次性让你“晋级”到位

1136 学习 · 177 问题

查看课程