Spring下的Task任务分布式发布,如何避免重复执行

无聊的学习者 发布于 2014/11/06 16:27
阅读 5K+
收藏 1

现在有个要实现一个功能,涉及到大量的邮件发送,做了个定时任务<task>注释的那种。

由于采用了分布式发布,如何避免这个任务在不同的worker上都执行,只容许有一个worker跑

加载中
1
lgscofield
lgscofield
要用数据库,quantz官网有介绍,可以去看看,大概就是一条job启动的时候数据库中这个id的job处于运行状态,直到结束其他集群中的调度器都不会运行该job
0
0
quyf
quyf
这样的话最好采用配置文件的方式,不要注解方式,一台机上做任务,其他服务器上屏蔽配置文件引入就可以解决,这样的好处是  代码还是一套,只通过配置文件来解决
石头哥哥
石头哥哥
既然使用了分布式 一台上出现单点故障就惨了。所以还是使用quartz +数据库 来做 。这才靠谱
返回顶部
顶部