修复getWaitingTime buildID不存在错误

增加同步处理
This commit is contained in:
ladventure 2017-06-14 15:39:45 +08:00
parent 31c6cf9bdf
commit e88468feb6
1 changed files with 16 additions and 13 deletions

View File

@ -40,10 +40,7 @@ public class JenkinsController extends BaseController {
AppConfig appConfig;
BuildThread buildThreadNew;
// String poolsize = appConfig.getPoolSize();
// public int poolSize=Integer.parseInt(appConfig.getPoolSize());
// 创建进程池
// public ExecutorService pool = Executors.newFixedThreadPool(1);
private static ExecutorService pool;
private static ArrayBlockingQueue<Runnable> buildBlockingQueue;
private static final Logger logger = LoggerFactory.getLogger(JenkinsController.class);
@ -182,17 +179,23 @@ public class JenkinsController extends BaseController {
logger.debug("buildId:"+buildID);
//TODO 查询前面有多少个任务正在等待
int index=0;
for(Runnable one:buildBlockingQueue){
BuildThread buildThread=(BuildThread)one;
if(buildThread.getBuildID().equals(buildID)){
break;
}
index++;
}
JSONObject response = new JSONObject();
response.put("code", 0);
response.put("msg", index);
synchronized (buildBlockingQueue) {
int size=buildBlockingQueue.size();
for(Runnable one:buildBlockingQueue){
BuildThread buildThread=(BuildThread)one;
if(buildThread.getBuildID().equals(buildID)){
break;
}
index++;
}
if(size>index){
response.put("msg", index);
}else {
response.put("msg", -1);
}
}
logger.debug(response.toJSONString());
return response;
}