in lifecycle/src/main/java/org/apache/shardingsphere/elasticjob/lifecycle/internal/operate/JobOperateAPIImpl.java [94:122]
public void shutdown(final String jobName, final String serverIp) {
Preconditions.checkArgument(null != jobName || null != serverIp, "At least indicate jobName or serverIp.");
if (null != jobName && null != serverIp) {
JobNodePath jobNodePath = new JobNodePath(jobName);
for (String each : regCenter.getChildrenKeys(jobNodePath.getInstancesNodePath())) {
JobInstance jobInstance = YamlEngine.unmarshal(regCenter.get(jobNodePath.getInstanceNodePath(each)), JobInstance.class);
if (serverIp.equals(jobInstance.getServerIp())) {
regCenter.remove(jobNodePath.getInstanceNodePath(each));
}
}
} else if (null != jobName) {
JobNodePath jobNodePath = new JobNodePath(jobName);
for (String each : regCenter.getChildrenKeys(jobNodePath.getInstancesNodePath())) {
regCenter.remove(jobNodePath.getInstanceNodePath(each));
}
} else {
List<String> jobNames = regCenter.getChildrenKeys("/");
for (String job : jobNames) {
JobNodePath jobNodePath = new JobNodePath(job);
List<String> instances = regCenter.getChildrenKeys(jobNodePath.getInstancesNodePath());
for (String each : instances) {
JobInstance jobInstance = YamlEngine.unmarshal(regCenter.get(jobNodePath.getInstanceNodePath(each)), JobInstance.class);
if (serverIp.equals(jobInstance.getServerIp())) {
regCenter.remove(jobNodePath.getInstanceNodePath(each));
}
}
}
}
}