比如调度引擎中有5个工作线程,然后在某天的下午2点 有6个任务需要执行,那么由于调度引擎中只有5个工作线程,所以在2点的时候会有5个任务会按照之前设定的时间正常执行,有1个任务因为没有线程资源而被延迟执行...接下来我们可以看下几种执行的场景:
正常执行
举例来说,现在有个作业每个小时执行一次,在12:00,13:00,14:00:
执行时长都在1个小时之内,则每个时间点都可以正常执行,示例图如下:
图...7.5.1 正常执行作业
错过执行作业
12:00的执行时长过长(可能是处理业务数据过大,也可能其他原因),执行了1个多小时,当未开启错过作业重新触发功能则在13:00的时候作业是无法执行将被错过,执行示例图如下...running节点则说明上次对应作业分片仍旧未执行结束,幂等需要保证上次作业分片执行结束时候本次才开始执行,不能在同一个分片上并行执行,这里判断了上次作业分片下如果存在running节点也就是还有作业分片在执行...,那本次执行所对应作业分片则无法执行,这种情况是Elastic-Job对作业分片的幂等的处理,如果出现这样本次无法执行的作业分片也是要为当前分片设置错过作业重触发标记,设置完毕之后则返回。