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]

Reply via email to