public void registerJobCompleted()

in kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/executor/facade/SingleShardingJobFacade.java [86:113]


    public void registerJobCompleted(final ShardingContexts shardingContexts) {
        super.registerJobCompleted(shardingContexts);
        
        JobConfiguration jobConfig = configService.load(true);
        JobInstance jobInst = JobRegistry.getInstance().getJobInstance(jobConfig.getJobName());
        if (null == jobInst) {
            log.warn("Error! Can't find the job instance with name:{}", jobConfig.getJobName());
            return;
        }
        Integer nextIndex = null;
        List<JobInstance> availJobInst = instanceService.getAvailableJobInstances();
        for (int i = 0; i < availJobInst.size(); i++) {
            JobInstance temp = availJobInst.get(i);
            if (temp.getServerIp().equals(jobInst.getServerIp())) {
                nextIndex = i + 1;
                break;
            }
        }
        if (nextIndex != null) {
            nextIndex = nextIndex >= availJobInst.size() ? 0 : nextIndex;
            jobNodeStorage.fillEphemeralJobNode("next-job-instance-ip", availJobInst.get(nextIndex).getServerIp());
        }
        
        if (log.isDebugEnabled()) {
            log.debug("job name: {}, next index: {}, sharding total count: {}",
                    jobConfig.getJobName(), nextIndex, jobConfig.getShardingTotalCount());
        }
    }