From 730b2190c472500ca1a7aa112d23746af2c0d94b Mon Sep 17 00:00:00 2001
From: Kai Reinhard <K.Reinhard@micromata.de>
Date: Sat, 05 Jan 2019 14:26:22 +0000
Subject: [PATCH] Job monitor...
---
borgbutler-server/src/main/java/de/micromata/borgbutler/server/rest/JobsRest.java | 20 ++++++++++++++------
1 files changed, 14 insertions(+), 6 deletions(-)
diff --git a/borgbutler-server/src/main/java/de/micromata/borgbutler/server/rest/JobsRest.java b/borgbutler-server/src/main/java/de/micromata/borgbutler/server/rest/JobsRest.java
index 017711f..c6ce18f 100644
--- a/borgbutler-server/src/main/java/de/micromata/borgbutler/server/rest/JobsRest.java
+++ b/borgbutler-server/src/main/java/de/micromata/borgbutler/server/rest/JobsRest.java
@@ -10,6 +10,7 @@
import de.micromata.borgbutler.server.rest.queue.JsonJob;
import de.micromata.borgbutler.server.rest.queue.JsonJobQueue;
import org.apache.commons.collections4.CollectionUtils;
+import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -77,7 +78,13 @@
if (job.getStatus() != AbstractJob.Status.RUNNING) continue;
long current = job.getProgressInfo().getCurrent();
long total = job.getProgressInfo().getTotal();
- current += Math.random() * total / 30;
+ if (StringUtils.startsWith(job.getProgressInfo().getMessage(), "Calculating")) {
+ // Info is a faster operation:
+ current += Math.random() * total / 5;
+ } else {
+ // than get the complete archive file list:
+ current += Math.random() * total / 30;
+ }
if (current > total) {
current = 0; // Reset to beginning.
}
@@ -94,19 +101,20 @@
private JsonJob addTestJob(JsonJobQueue queue, String operation, String host, long current, long total) {
- ProgressInfo msg = new ProgressInfo()
+ ProgressInfo progressInfo = new ProgressInfo()
.setCurrent(current)
.setTotal(total);
JsonJob job = new JsonJob()
- .setProgressInfo(msg)
+ .setProgressInfo(progressInfo)
.setStatus(AbstractJob.Status.QUEUED);
if ("info".equals(operation)) {
- msg.setMessage("Calculating statistics... ");
+ progressInfo.setMessage("Calculating statistics... ");
job.setDescription("Loading info of archive '" + host + "-2018-12-05T23:10:33' of repo '" + queue.getRepo() + "'.")
.setCommandLineAsString("borg info --json --log-json --progress ssh://...:23/./backups/" + host + "::" + host + "-2018-12-05T23:10:33");
} else {
- msg.setMessage("Getting file list... ");
- job.setCommandLineAsString("borg list --json-lines ssh://...:23/./backups/" + host + "::" + host + "-2018-12-05T17:30:38");
+ progressInfo.setMessage("Getting file list... ");
+ job.setDescription("Loading list of files of archive '" + host + "-2018-12-05T17:30:38' of repo '" + queue.getRepo() + "'.")
+ .setCommandLineAsString("borg list --json-lines ssh://...:23/./backups/" + host + "::" + host + "-2018-12-05T17:30:38");
}
job.buildProgressText();
if (current >= 0) {
--
Gitblit v1.10.0