protected void assertRegCenterCommonInfo() { assertThat( REG_CENTER.get("/" + jobName + "/leader/election/host"), is(localHostService.getIp())); assertThat(REG_CENTER.get("/" + jobName + "/config/shardingTotalCount"), is("3")); assertThat(REG_CENTER.get("/" + jobName + "/config/shardingItemParameters"), is("0=A,1=B,2=C")); assertThat(REG_CENTER.get("/" + jobName + "/config/cron"), is("0/1 * * * * ?")); assertThat( REG_CENTER.get("/" + jobName + "/servers/" + localHostService.getIp() + "/hostName"), is(localHostService.getHostName())); if (disabled) { assertTrue( REG_CENTER.isExisted( "/" + jobName + "/servers/" + localHostService.getIp() + "/disabled")); } else { assertFalse( REG_CENTER.isExisted( "/" + jobName + "/servers/" + localHostService.getIp() + "/disabled")); } assertFalse( REG_CENTER.isExisted("/" + jobName + "/servers/" + localHostService.getIp() + "/stoped")); assertThat( REG_CENTER.get("/" + jobName + "/servers/" + localHostService.getIp() + "/status"), is(ServerStatus.READY.name())); REG_CENTER.remove("/" + jobName + "/leader/election"); assertTrue(leaderElectionService.isLeader()); }
/** 清理作业上次运行时信息. 只会在主节点进行. */ public void cleanPreviousExecutionInfo() { if (!isExecutionNodeExisted()) { return; } if (leaderElectionService.isLeader()) { jobNodeStorage.fillEphemeralJobNode(ExecutionNode.CLEANING, ""); List<Integer> items = getAllItems(); for (int each : items) { jobNodeStorage.removeJobNodeIfExisted(ExecutionNode.getCompletedNode(each)); } if (jobNodeStorage.isJobNodeExisted(ExecutionNode.NECESSARY)) { fixExecutionInfo(items); } jobNodeStorage.removeJobNodeIfExisted(ExecutionNode.CLEANING); } while (jobNodeStorage.isJobNodeExisted(ExecutionNode.CLEANING)) { BlockUtils.waitingShortTime(); } }