diff --git a/src/main/java/cloudgene/mapred/api/v2/server/GetCounter.java b/src/main/java/cloudgene/mapred/api/v2/server/GetCounter.java index bccf597b..5c7fee97 100644 --- a/src/main/java/cloudgene/mapred/api/v2/server/GetCounter.java +++ b/src/main/java/cloudgene/mapred/api/v2/server/GetCounter.java @@ -18,11 +18,11 @@ public class GetCounter extends BaseResource { public Representation get() { JSONObject jsonCounters = new JSONObject(); - + // complete Map counters = getWorkflowEngine().getCounters( - AbstractJob.STATE_SUCCESS); - JSONObject jsonComplete = new JSONObject(); + AbstractJob.STATE_SUCCESS); + JSONObject jsonComplete = new JSONObject(); for (String key : counters.keySet()) { jsonComplete.put(key, counters.get(key)); } @@ -30,7 +30,7 @@ public Representation get() { // running counters = getWorkflowEngine().getCounters(AbstractJob.STATE_RUNNING); - JSONObject jsonRunning = new JSONObject(); + JSONObject jsonRunning = new JSONObject(); for (String key : counters.keySet()) { jsonRunning.put(key, counters.get(key)); } @@ -38,19 +38,19 @@ public Representation get() { // waiting counters = getWorkflowEngine().getCounters(AbstractJob.STATE_WAITING); - JSONObject jsonWaiting= new JSONObject(); + JSONObject jsonWaiting= new JSONObject(); for (String key : counters.keySet()) { jsonWaiting.put(key, counters.get(key)); } - JobDao jobDao = new JobDao(getDatabase()); - int waitingJobs = jobDao.findAllByState(AbstractJob.STATE_WAITING).size(); - jsonWaiting.put("runs", waitingJobs); jsonCounters.put("waiting", jsonWaiting); UserDao dao = new UserDao(getDatabase()); jsonCounters.put("users", dao.countAll()); - - + + JSONObject queue = new JSONObject(); + queue.put("size", getWorkflowEngine().getSize()); + jsonCounters.put("queue", queue); + return new StringRepresentation(jsonCounters.toString()); } diff --git a/src/main/java/cloudgene/mapred/jobs/WorkflowEngine.java b/src/main/java/cloudgene/mapred/jobs/WorkflowEngine.java index 8e8664c4..a21ac21a 100644 --- a/src/main/java/cloudgene/mapred/jobs/WorkflowEngine.java +++ b/src/main/java/cloudgene/mapred/jobs/WorkflowEngine.java @@ -241,6 +241,10 @@ public List getAllJobsInLongTimeQueue() { return jobs; } + public int getSize() { + return longTimeQueue.getSize() + shortTimeQueue.getSize(); + } + class SetupThread extends PriorityRunnable { private AbstractJob job; diff --git a/src/main/java/cloudgene/mapred/jobs/queue/Queue.java b/src/main/java/cloudgene/mapred/jobs/queue/Queue.java index 3a5386bf..20c7df49 100644 --- a/src/main/java/cloudgene/mapred/jobs/queue/Queue.java +++ b/src/main/java/cloudgene/mapred/jobs/queue/Queue.java @@ -305,6 +305,10 @@ public boolean isInQueue(AbstractJob job) { } } + public int getSize() { + return queue.size(); + } + protected class PriorityComparator implements Comparator { @Override