From 67dd1243073e766178dd70dd2f45aa5bc77ec529 Mon Sep 17 00:00:00 2001
From: Kai Reinhard <K.Reinhard@micromata.de>
Date: Sat, 05 Jan 2019 22:03:29 +0000
Subject: [PATCH] Job monitor: Cancellation of jobs...
---
borgbutler-server/src/main/java/de/micromata/borgbutler/server/rest/JobsRest.java | 34 ++++++++++++++++++++++------------
1 files changed, 22 insertions(+), 12 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 5991560..382b331 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
@@ -59,34 +59,43 @@
}
@Path("/cancel")
- @PUT
- @Produces(MediaType.APPLICATION_JSON)
+ @GET
/**
- * @param testMode If true, then a test job list is created.
- * @param prettyPrinter If true then the json output will be in pretty format.
- * @return Job queues as json string.
- * @see JsonUtils#toJson(Object, boolean)
+ * @param uniqueJobNumberString The id of the job to cancel.
*/
- public void cancelJob(@QueryParam("job") String job, @QueryParam("prettyPrinter") boolean prettyPrinter) {
- log.info("Cancelling job");
+ public void cancelJob(@QueryParam("uniqueJobNumber") String uniqueJobNumberString) {
+ Long uniqueJobNumber = null;
+ try {
+ uniqueJobNumber = Long.parseLong(uniqueJobNumberString);
+ } catch (NumberFormatException ex) {
+ log.error("Can't cancel job, because unique job number couln't be parsed (long value expected): " + uniqueJobNumberString);
+ return;
+ }
+ BorgQueueExecutor.getInstance().cancelJob(uniqueJobNumber);
}
/**
* Only for test purposes and development.
+ *
* @param prettyPrinter
* @return
*/
private String returnTestList(boolean prettyPrinter) {
if (testList == null) {
testList = new ArrayList<>();
+ long uniqueJobNumber = 100000;
JsonJobQueue queue = new JsonJobQueue().setRepo("My Computer");
- addTestJob(queue, "info", "my-macbook", 0, 2342);
- addTestJob(queue, "list", "my-macbook", -1, -1);
+ addTestJob(queue, "info", "my-macbook", 0, 2342)
+ .setUniqueJobNumber(uniqueJobNumber++);
+ addTestJob(queue, "list", "my-macbook", -1, -1)
+ .setUniqueJobNumber(uniqueJobNumber++);
testList.add(queue);
queue = new JsonJobQueue().setRepo("My Server");
- addTestJob(queue, "list", "my-server", 0, 1135821);
- addTestJob(queue, "info", "my-server", -1, -1);
+ addTestJob(queue, "list", "my-server", 0, 1135821)
+ .setUniqueJobNumber(uniqueJobNumber++);
+ addTestJob(queue, "info", "my-server", -1, -1)
+ .setUniqueJobNumber(uniqueJobNumber++);
testList.add(queue);
} else {
for (JsonJobQueue jobQueue : testList) {
@@ -117,6 +126,7 @@
/**
* Only for test purposes and development.
+ *
* @param queue
* @param operation
* @param host
--
Gitblit v1.10.0