From e4848308a99c1b38fea9a82c28b11727b45e6596 Mon Sep 17 00:00:00 2001 From: Björn Geiger Date: Tue, 16 Aug 2011 13:39:18 +0200 Subject: kleine Korrektur --- gearman/controllerWorker/ControllerWorker/Boot.java | 18 ++++++++++++------ .../controllerWorker/ControllerWorker/BootWorker.java | 4 +++- .../controllerWorker/ControllerWorker/Shutdown.java | 8 ++++++-- .../ControllerWorker/ShutdownWorker.java | 4 +++- 4 files changed, 24 insertions(+), 10 deletions(-) (limited to 'gearman') diff --git a/gearman/controllerWorker/ControllerWorker/Boot.java b/gearman/controllerWorker/ControllerWorker/Boot.java index 3e76d93..a32c4aa 100644 --- a/gearman/controllerWorker/ControllerWorker/Boot.java +++ b/gearman/controllerWorker/ControllerWorker/Boot.java @@ -29,6 +29,7 @@ public class Boot extends Thread { private Boolean error; private final int updateRate; private final long updatePeriod; + private long waitTime; private String bootOS; private String[] statusText; @@ -52,7 +53,7 @@ public class Boot extends Thread { public Boot(String serverAddress, int port, Vector> clients, int updateRate, - String bootOS) { + long waitTime, String bootOS) { this.pingJobs = new HashMap(); this.pingWoLJobs = new HashMap(); this.wolJobs = new HashMap(); @@ -72,6 +73,7 @@ public class Boot extends Thread { this.gearmanClient = new GearmanClientImpl(); gearmanClient.addJobServer(this.gearmanConnection); this.clients = clients; + this.waitTime = waitTime; for (HashMap client : clients) { int clientID = Integer.parseInt(client.get("id")); status.put(clientID, 0); // no work @@ -235,7 +237,8 @@ public class Boot extends Thread { Date currentDate = new Date(); Long currentTimestamp = currentDate.getTime(); // wait 2 min until WoL - Failed - Long expectedTimestamp = this.pingWolTime.get(clientID) + 120000L; + Long expectedTimestamp = this.pingWolTime.get(clientID) + + waitTime; if (expectedTimestamp >= currentTimestamp) { GearmanJobStatus jobStatus = gearmanClient .getJobStatus(pingJobWoL); @@ -486,14 +489,17 @@ public class Boot extends Thread { Date currentDate = new Date(); Long currentTimestamp = currentDate.getTime(); // wait 2 min until Restart - Failed - Long expectedTimestamp = this.pingRestartTime.get(clientID) + 120000L; + Long expectedTimestamp = this.pingRestartTime.get(clientID) + + waitTime; if (expectedTimestamp >= currentTimestamp) { GearmanJobStatus jobStatus = gearmanClient .getJobStatus(pingJobRestart); if (!jobStatus.isKnown() && pingJobRestart.isDone()) { - GearmanJobResult pingJobRes = pingJobRestart.get(); - String result = ByteUtils.fromUTF8Bytes(pingJobRes - .getResults()); + GearmanJobResult pingJobRestartRes = pingJobRestart + .get(); + String result = ByteUtils + .fromUTF8Bytes(pingJobRestartRes + .getResults()); if (result != "") { JSONObject resultObj = (JSONObject) JSONValue .parse(result); diff --git a/gearman/controllerWorker/ControllerWorker/BootWorker.java b/gearman/controllerWorker/ControllerWorker/BootWorker.java index 6bb2365..9049971 100644 --- a/gearman/controllerWorker/ControllerWorker/BootWorker.java +++ b/gearman/controllerWorker/ControllerWorker/BootWorker.java @@ -27,6 +27,7 @@ public class BootWorker extends AbstractGearmanFunction { String eventOS = jsonObject.get("eventOS").toString(); int updateRate = Integer.parseInt(jsonObject.get("updateRate") .toString()); + long waitTime = Long.parseLong(jsonObject.get("waitTime").toString()); JSONArray jsonArray = (JSONArray) jsonObject.get("clients"); for (Object clientObj : jsonArray) { @@ -38,7 +39,8 @@ public class BootWorker extends AbstractGearmanFunction { clients.add(clientMap); } - Boot boot = new Boot("127.0.0.1", 4730, clients, updateRate, eventOS); + Boot boot = new Boot("127.0.0.1", 4730, clients, updateRate, waitTime, + eventOS); StatusWorker.BOOTTHREADS.put(event, boot); boot.start(); System.out.println("Booting started"); diff --git a/gearman/controllerWorker/ControllerWorker/Shutdown.java b/gearman/controllerWorker/ControllerWorker/Shutdown.java index ef8e7c4..7cc22f6 100644 --- a/gearman/controllerWorker/ControllerWorker/Shutdown.java +++ b/gearman/controllerWorker/ControllerWorker/Shutdown.java @@ -29,6 +29,7 @@ public class Shutdown extends Thread { private Boolean error; private final int updateRate; private final long updatePeriod; + private long waitTime; private String[] statusText; private HashMap pingJobs; @@ -46,7 +47,8 @@ public class Shutdown extends Thread { private GearmanClient gearmanClient; public Shutdown(String serverAddress, int port, - Vector> clients, int updateRate) { + Vector> clients, int updateRate, + long waitTime) { this.pingJobs = new HashMap(); this.whoJobs = new HashMap(); this.shutdownJobs = new HashMap(); @@ -60,6 +62,7 @@ public class Shutdown extends Thread { serverAddress, port); this.gearmanClient = new GearmanClientImpl(); gearmanClient.addJobServer(this.gearmanConnection); + this.waitTime = waitTime; this.clients = clients; for (HashMap client : clients) { int clientID = Integer.parseInt(client.get("id")); @@ -262,7 +265,8 @@ public class Shutdown extends Thread { Long currentTimestamp = currentDate.getTime(); // wait 2 min until shutdown Long expectedTimestamp = this.pingShutdownTime - .get(clientID) + 120000L; + .get(clientID) + + waitTime; if (expectedTimestamp >= currentTimestamp) { GearmanJobStatus jobStatus = gearmanClient .getJobStatus(pingJobShutdown); diff --git a/gearman/controllerWorker/ControllerWorker/ShutdownWorker.java b/gearman/controllerWorker/ControllerWorker/ShutdownWorker.java index b454cca..d2bfbc3 100644 --- a/gearman/controllerWorker/ControllerWorker/ShutdownWorker.java +++ b/gearman/controllerWorker/ControllerWorker/ShutdownWorker.java @@ -26,6 +26,7 @@ public class ShutdownWorker extends AbstractGearmanFunction { String event = jsonObject.get("eventName").toString(); int updateRate = Integer.parseInt(jsonObject.get("updateRate") .toString()); + long waitTime = Long.parseLong(jsonObject.get("waitTime").toString()); JSONArray jsonArray = (JSONArray) jsonObject.get("clients"); for (Object clientObj : jsonArray) { @@ -37,7 +38,8 @@ public class ShutdownWorker extends AbstractGearmanFunction { clients.add(clientMap); } - Shutdown shutdown = new Shutdown("127.0.0.1", 4730, clients, updateRate); + Shutdown shutdown = new Shutdown("127.0.0.1", 4730, clients, + updateRate, waitTime); StatusWorker.SHUTDOWNTHREADS.put(event, shutdown); shutdown.start(); System.out.println("Shutdown started"); -- cgit v1.2.3-55-g7522