summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBjörn Geiger2011-08-09 14:54:22 +0200
committerBjörn Geiger2011-08-09 14:54:22 +0200
commit7f20ffd6d402ddde87b5bcb1117ae62f7832972a (patch)
treed68522db9cd55f86ff851d9c0cff6f16ed8e1c37
parentminor (diff)
downloadpoolctrl-7f20ffd6d402ddde87b5bcb1117ae62f7832972a.tar.gz
poolctrl-7f20ffd6d402ddde87b5bcb1117ae62f7832972a.tar.xz
poolctrl-7f20ffd6d402ddde87b5bcb1117ae62f7832972a.zip
BootOS bei ShutdownWorker wieder entfernt
-rw-r--r--gearman/controllerWorker/ControllerWorker/Shutdown.java77
-rw-r--r--gearman/controllerWorker/ControllerWorker/ShutdownWorker.java3
2 files changed, 42 insertions, 38 deletions
diff --git a/gearman/controllerWorker/ControllerWorker/Shutdown.java b/gearman/controllerWorker/ControllerWorker/Shutdown.java
index ca474ac..b174156 100644
--- a/gearman/controllerWorker/ControllerWorker/Shutdown.java
+++ b/gearman/controllerWorker/ControllerWorker/Shutdown.java
@@ -28,7 +28,6 @@ public class Shutdown extends Thread {
private Boolean error;
private final int updateRate;
private final long updatePeriod;
- private String bootOS;
private HashMap<Integer, GearmanJob> pingJobs;
private HashMap<Integer, GearmanJob> whoJobs;
@@ -45,7 +44,7 @@ public class Shutdown extends Thread {
private GearmanClient gearmanClient;
public Shutdown(String serverAddress, int port,
- Vector<HashMap<String, String>> clients, int updateRate, String bootOS) {
+ Vector<HashMap<String, String>> clients, int updateRate) {
this.pingJobs = new HashMap<Integer, GearmanJob>();
this.whoJobs = new HashMap<Integer, GearmanJob>();
this.shutdownJobs = new HashMap<Integer, GearmanJob>();
@@ -65,7 +64,6 @@ public class Shutdown extends Thread {
}
this.finished = false;
this.error = false;
- this.bootOS = bootOS;
}
public void run() {
@@ -102,12 +100,12 @@ public class Shutdown extends Thread {
int clientStatus = status.get(clientID);
switch (clientStatus) {
-
+
case 0:
ping(client);
-
+
break;
-
+
case 1:
GearmanJob pingJob = pingJobs.get(clientID);
@@ -131,36 +129,39 @@ public class Shutdown extends Thread {
pingJobs.remove(clientID);
} else {
System.out.println(ipAddress + " not alive");
- status.put(clientID, 7); // not alive, go in successState
+ status.put(clientID, 7); // not alive, go in
+ // successState
pingJobs.remove(clientID);
}
}
}
}
-
+
break;
-
+
case 2:
who(client);
-
+
break;
-
+
case 3:
shutdown(client);
-
+
break;
-
+
case 4:
pingShutdown(client);
-
+
break;
-
+
case 5:
GearmanJob pingJobShutdown = pingShutdownJobs.get(clientID);
if (pingJobShutdown != null) {
Date currentDate = new Date();
Long currentTimestamp = currentDate.getTime();
- Long expectedTimestamp = this.pingShutdownTime.get(clientID) + 120000L; //wait 2 min until WoL-Failed
+ Long expectedTimestamp = this.pingShutdownTime
+ .get(clientID) + 120000L; // wait 2 min until
+ // WoL-Failed
if (expectedTimestamp >= currentTimestamp) {
GearmanJobStatus jobStatus = gearmanClient
.getJobStatus(pingJobShutdown);
@@ -174,14 +175,18 @@ public class Shutdown extends Thread {
String alive = resultObj.get("alive")
.toString();
if (alive.equals("false")) {
- System.out.println(ipAddress
- + " is alive after shutdown. Ping again...");
- status.put(clientID, 4); // alive, ping again
+ System.out
+ .println(ipAddress
+ + " is alive after shutdown. Ping again...");
+ status.put(clientID, 4); // alive, ping
+ // again
pingShutdownJobs.remove(clientID);
} else {
- System.out.println("not alive after shutdown"
- +ipAddress);
- status.put(clientID, 7); // go in successState
+ System.out
+ .println("not alive after shutdown"
+ + ipAddress);
+ status.put(clientID, 7); // go in
+ // successState
}
}
}
@@ -192,19 +197,19 @@ public class Shutdown extends Thread {
pingShutdownJobs.remove(clientID);
}
}
-
+
break;
-
+
case 6:
System.out.println("Shutdown failed after 2min"); // errorState
-
+
break;
case 7:
System.out.println("Shutdown successful"); // successState
-
+
break;
-
+
}
if (clientStatus == 20) {
allFinished = true;
@@ -236,7 +241,7 @@ public class Shutdown extends Thread {
System.out.println("ping " + ipAddress);
}
-
+
private void who(HashMap<String, String> client) {
String ipAddress = client.get("ip");
int clientID = Integer.parseInt(client.get("id"));
@@ -248,23 +253,23 @@ public class Shutdown extends Thread {
status.put(clientID, 1); // who started
pingJobs.put(clientID, job);
- System.out.println("who " + ipAddress);
+ System.out.println("who " + ipAddress);
}
-
+
private void shutdown(HashMap<String, String> client) {
String ipAddress = client.get("ip");
int clientID = Integer.parseInt(client.get("id"));
- GearmanJob job = GearmanJobImpl.createJob("shutdown", ipAddress.getBytes(),
- "shutdown" + clientID);
+ GearmanJob job = GearmanJobImpl.createJob("shutdown", ipAddress
+ .getBytes(), "shutdown" + clientID);
gearmanClient.submit(job);
status.put(clientID, 5); // shutdown started
pingJobs.put(clientID, job);
- System.out.println("shutdown " + ipAddress);
+ System.out.println("shutdown " + ipAddress);
}
-
+
private void pingShutdown(HashMap<String, String> client) {
String ipAddress = client.get("ip");
int clientID = Integer.parseInt(client.get("id"));
@@ -312,11 +317,11 @@ public class Shutdown extends Thread {
public HashMap<Integer, GearmanJob> getSshJobs() {
return sshJobs;
}
-
+
public HashMap<Integer, GearmanJob> getWhoJobs() {
return whoJobs;
}
-
+
public HashMap<Integer, GearmanJob> getShutdownJobs() {
return shutdownJobs;
}
diff --git a/gearman/controllerWorker/ControllerWorker/ShutdownWorker.java b/gearman/controllerWorker/ControllerWorker/ShutdownWorker.java
index a2de19e..b454cca 100644
--- a/gearman/controllerWorker/ControllerWorker/ShutdownWorker.java
+++ b/gearman/controllerWorker/ControllerWorker/ShutdownWorker.java
@@ -24,7 +24,6 @@ public class ShutdownWorker extends AbstractGearmanFunction {
Vector<HashMap<String, String>> clients = new Vector<HashMap<String, String>>();
JSONObject jsonObject = (JSONObject) JSONValue.parse(data);
String event = jsonObject.get("eventName").toString();
- String eventOS = jsonObject.get("eventBootOS").toString();
int updateRate = Integer.parseInt(jsonObject.get("updateRate")
.toString());
JSONArray jsonArray = (JSONArray) jsonObject.get("clients");
@@ -38,7 +37,7 @@ public class ShutdownWorker extends AbstractGearmanFunction {
clients.add(clientMap);
}
- Shutdown shutdown = new Shutdown("127.0.0.1", 4730, clients, updateRate, eventOS);
+ Shutdown shutdown = new Shutdown("127.0.0.1", 4730, clients, updateRate);
StatusWorker.SHUTDOWNTHREADS.put(event, shutdown);
shutdown.start();
System.out.println("Shutdown started");