From 80406d66f759065c0dae7aea332f847c65c77001 Mon Sep 17 00:00:00 2001
From: Kai Reinhard <K.Reinhard@micromata.de>
Date: Sat, 05 Jan 2019 21:02:13 +0000
Subject: [PATCH] Job monitor...
---
borgbutler-core/src/main/java/de/micromata/borgbutler/jobs/JobQueue.java | 16 ++++++++--------
1 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/borgbutler-core/src/main/java/de/micromata/borgbutler/jobs/JobQueue.java b/borgbutler-core/src/main/java/de/micromata/borgbutler/jobs/JobQueue.java
index 7ce762e..5e5a95c 100644
--- a/borgbutler-core/src/main/java/de/micromata/borgbutler/jobs/JobQueue.java
+++ b/borgbutler-core/src/main/java/de/micromata/borgbutler/jobs/JobQueue.java
@@ -1,6 +1,5 @@
package de.micromata.borgbutler.jobs;
-import lombok.Getter;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -11,20 +10,22 @@
public class JobQueue<T> {
private static final int MAX_DONE_JOBS_SIZE = 50;
+ private static long jobSequence = 0;
private Logger log = LoggerFactory.getLogger(JobQueue.class);
- @Getter
private List<AbstractJob<T>> queue = new ArrayList<>();
private List<AbstractJob<T>> doneJobs = new LinkedList<>();
private ExecutorService executorService = Executors.newSingleThreadExecutor();
+ private static synchronized void setNextJobId(AbstractJob<?> job) {
+ job.setUniqueJobNumber(jobSequence++);
+ }
+
public int getQueueSize() {
return queue.size();
}
- public List<AbstractJob<T>> getDoneJobs() {
- synchronized (doneJobs) {
- return Collections.unmodifiableList(doneJobs);
- }
+ public Iterator<AbstractJob<T>> getQueueIterator() {
+ return Collections.unmodifiableList(queue).iterator();
}
/**
@@ -41,6 +42,7 @@
return queuedJob;
}
}
+ setNextJobId(job);
queue.add(job.setStatus(AbstractJob.Status.QUEUED));
}
job.setFuture(executorService.submit(new CallableTask(job)));
@@ -79,8 +81,6 @@
}
}
}
-
-
}
private class CallableTask implements Callable<JobResult<T>> {
--
Gitblit v1.10.0