return ;
}
if(!jobDescriptor.getDependencies().contains(eId) ){
return ;
}
JobStatus jobStatus=null;
synchronized (this) {
jobStatus=groupManager.getJobStatus(jobId);
JobBean bean=groupManager.getUpstreamJobBean(jobId);
String cycle=bean.getHierarchyProperties().getProperty(PropertyKeys.DEPENDENCY_CYCLE);
if(cycle!=null && !"".equals(cycle)){
Map<String, String> dep=jobStatus.getReadyDependency();
if("sameday".equals(cycle)){
SimpleDateFormat format=new SimpleDateFormat("yyyy-MM-dd");
String now=format.format(new Date());
for(String key:new HashSet<String>(dep.keySet())){
String d=format.format(new Date(Long.valueOf(dep.get(key))));
if(!now.equals(d)){
jobStatus.getReadyDependency().remove(key);
ScheduleInfoLog.info("JobId:"+jobId+" remove overdue dependency "+key);
}
}
}
}
ScheduleInfoLog.info("JobId:"+jobId+" received a successed dependency job with jobId:"+event.getJobId());
ScheduleInfoLog.info("JobId:"+jobId+" the dependency jobId:"+event.getJobId()+" record it");
jobStatus.getReadyDependency().put(eId, String.valueOf(new Date().getTime()));
groupManager.updateJobStatus(jobStatus);
}
boolean allComplete=true;
for(String key:jobDescriptor.getDependencies()){
if(jobStatus.getReadyDependency().get(key)==null){
allComplete=false;
break;
}
}
if(allComplete){