txm119161336 commented on issue #2490:
URL:
https://github.com/apache/shardingsphere-elasticjob/issues/2490#issuecomment-4412257466
As what you said , the misfire action will not be executed immediately
after JobTriggerListener#triggerMisfired(...) executed,becuase the
misfireIfRunning(...) returns true and the current trigger exits directly
so the actual misfire execution will have to wait util the next job trigger
time occurs . After ```
executionService.cleanPreviousExecutionInfo(); //清理上次分片的标记信息
executeJobInternal(shardingContext); // first execution
log.debug("Elastic job: execute normal completed, sharding context:{}.",
shardingContext);
```
in ```
while (configService.isMisfire() &&
!executionService.getMisfiredJobItems(shardingContext.getShardingItems()).isEmpty()
&& !stoped && !shardingService.isNeedSharding()) {
log.debug("Elastic job: execute misfired job, sharding context:{}.",
shardingContext);
//将 execution/{item}/misfire节点删除
executionService.clearMisfire(shardingContext.getShardingItems());
executeJobInternal(shardingContext); //second execution
log.debug("Elastic job: misfired job completed, sharding
context:{}.", shardingContext);
}
```
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]