From 9e49542cbb5180ef95645926bc7f64b3d5684ad0 Mon Sep 17 00:00:00 2001
From: Kai Reinhard <K.Reinhard@micromata.de>
Date: Fri, 28 Dec 2018 21:52:23 +0000
Subject: [PATCH] Job queueing...

---
 borgbutler-core/src/main/java/de/micromata/borgbutler/jobs/AbstractJob.java |   15 +++++++++++++++
 1 files changed, 15 insertions(+), 0 deletions(-)

diff --git a/borgbutler-core/src/main/java/de/micromata/borgbutler/jobs/AbstractJob.java b/borgbutler-core/src/main/java/de/micromata/borgbutler/jobs/AbstractJob.java
index 2670b98..a66b32f 100644
--- a/borgbutler-core/src/main/java/de/micromata/borgbutler/jobs/AbstractJob.java
+++ b/borgbutler-core/src/main/java/de/micromata/borgbutler/jobs/AbstractJob.java
@@ -36,6 +36,17 @@
             this.status = Status.CANCELLED;
         }
         this.cancelledRequested = true;
+        cancelRunningProcess();
+    }
+
+    protected void setCancelled() {
+        this.status = Status.CANCELLED;
+    }
+
+    /**
+     * Not supported if not implemented.
+     */
+    protected void cancelRunningProcess() {
     }
 
     /**
@@ -52,6 +63,10 @@
     }
 
     protected void failed() {
+        if (this.status == Status.CANCELLED) {
+            // do nothing. It's normal that cancelled jobs fail.
+            return;
+        }
         if (this.status != Status.RUNNING) {
             logger.error("Internal error, illegal state! You shouldn't set the job status to FAILED if not in status RUNNING: " + this.status);
         }

--
Gitblit v1.10.0