Elastic Job进阶--作业是如何被立即触发的

本文探讨了Elastic Job如何实现作业的立即触发。当点击运维平台的'触发'按钮时,通过HTTP请求触发作业执行。源码分析显示,该过程涉及Zookeeper节点的更新,将TRIGGER写入作业实例节点。同时,介绍了通过直接修改Zookeeper数据来触发作业执行的方法,作业监听器会检测到变化并启动相关作业。
摘要由CSDN通过智能技术生成

在运维平台中,通常作业执行失败或者想要再次执行作业的时候,会去点击 ‘触发’按钮  之后就可以看到作业被成功重新触发执行,那么触发按钮是怎么做到让作业立即出发执行的呢,接下来带你一步步探索!

点击触发按钮时,发起的http请求如图所示  由于我是通过源码启动的运维平台,所以可以很方便的进行debug调试,通过源码发现,进入的是JobOperationRestfulApi##triggerJob()方法  接着进入triggerJob方法,可以发现regCenter.getChildrenKeys(jobNodePath.getInstancesNodePath())是取出当前作业下所有的实例节点,当前只有一台,就是我的本机  进入regCenter.persist方法,发现就是设置内容TRIGGER到 zookeeper 中节点/demoSimpleSpringJob/instances/192.168.99.1@-@18552上 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值