elastic-job分片失效转移的问题
最近在看elastc-job-lite(2.1.4)的源码,关于分片失效转移的入口有两个
1.在AbstractElasticJobExecutor中方法execute()调用了jobFacade.failoverIfNecessary()方法
2.在FailoverListenerManager类中有个JobCrashedJobListener的监听器也调用了failoverService.failoverIfNecessary()方法
failoverIfNecessary方法的作用就是选举主节点,使用jobScheduleController.triggerJob()方法重新触发了job。我感觉只要第一个入口就行了,为什么还要第一个入口呢?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
楼主,这块是对job进行失效转移还是对分片进行失效转移?
谢谢亮哥的回答
请教一下,关于节点失效转移的时间问题,我这边一直是大于3分钟之后才会开始将任务转移到新的节点,我配置了失效时间和失效请求次数,都没有缩短任务从新转移到新的节点的时间。求教一下,我应该如何处理
一个是有节点挂掉之后查看有无空闲机器可以执行实效转移,如有,则被分配为被动执行;另一个是有主机运行完毕后查看又无实效转移的节点要执行,属于主动抓取。两种方式互补,缺一不可