summaryrefslogtreecommitdiffstats
path: root/gearman/controllerWorker/ControllerWorker/StatusWorker.java
diff options
context:
space:
mode:
authorBjörn Geiger2011-07-27 12:57:56 +0200
committerBjörn Geiger2011-07-27 12:57:56 +0200
commit215a85c786bcbfdf4f57fb3c8917fd1706d3e92a (patch)
tree0509582811eaab052daee8d65f9652bd562ee505 /gearman/controllerWorker/ControllerWorker/StatusWorker.java
parentkleinen fehler korrigiert (diff)
downloadpoolctrl-215a85c786bcbfdf4f57fb3c8917fd1706d3e92a.tar.gz
poolctrl-215a85c786bcbfdf4f57fb3c8917fd1706d3e92a.tar.xz
poolctrl-215a85c786bcbfdf4f57fb3c8917fd1706d3e92a.zip
Shutdown hinzugefügt
Diffstat (limited to 'gearman/controllerWorker/ControllerWorker/StatusWorker.java')
-rw-r--r--gearman/controllerWorker/ControllerWorker/StatusWorker.java35
1 files changed, 23 insertions, 12 deletions
diff --git a/gearman/controllerWorker/ControllerWorker/StatusWorker.java b/gearman/controllerWorker/ControllerWorker/StatusWorker.java
index 4ed7380..2683659 100644
--- a/gearman/controllerWorker/ControllerWorker/StatusWorker.java
+++ b/gearman/controllerWorker/ControllerWorker/StatusWorker.java
@@ -8,10 +8,12 @@ import org.gearman.client.GearmanJobResultImpl;
import org.gearman.util.ByteUtils;
import org.gearman.worker.AbstractGearmanFunction;
import org.json.simple.JSONArray;
+import org.json.simple.JSONObject;
import org.json.simple.JSONValue;
public class StatusWorker extends AbstractGearmanFunction {
- public static HashMap<String, Boot> BOOTTHREADS = new HashMap<String, Boot>();
+ static HashMap<String, Boot> BOOTTHREADS = new HashMap<String, Boot>();
+ static HashMap<String, Shutdown> SHUTDOWNTHREADS = new HashMap<String, Shutdown>();
@Override
public String getName() {
@@ -22,7 +24,9 @@ public class StatusWorker extends AbstractGearmanFunction {
public GearmanJobResult executeFunction() {
String data = ByteUtils.fromUTF8Bytes((byte[]) this.data);
Vector<String> events = new Vector<String>();
- JSONArray jsonArray = (JSONArray) JSONValue.parse(data);
+ JSONObject jsonObject = (JSONObject) JSONValue.parse(data);
+ String type = jsonObject.get("type").toString();
+ JSONArray jsonArray = (JSONArray) jsonObject.get("events");
for (Object eventObj : jsonArray) {
String event = eventObj.toString();
@@ -32,18 +36,25 @@ public class StatusWorker extends AbstractGearmanFunction {
String[] res = new String[jsonArray.size()];
int count = 0;
- for (String event : events) {
- Boot boot = BOOTTHREADS.get(event);
+ if (type.equals("boot")) {
+ for (String event : events) {
+ Boot boot = BOOTTHREADS.get(event);
- if (boot.isFinished()) {
- res[count] = "Booting of " + event + " finished!";
- } else if (boot.isFinishedWithErrors()) {
- res[count] = "Booting of " + event + " finished with errors!";
- } else {
- res[count] = "Booting of " + event + " not yet finished!";
- }
+ if (boot.isFinished()) {
+ res[count] = "Booting of " + event + " finished!";
+ } else if (boot.isFinishedWithErrors()) {
+ res[count] = "Booting of " + event
+ + " finished with errors!";
+ } else {
+ res[count] = "Booting of " + event + " not yet finished!";
+ }
- count++;
+ count++;
+ }
+ } else if (type.equals("shutdown")) {
+ for (String event : events) {
+ Shutdown shutdown = SHUTDOWNTHREADS.get(event);
+ }
}
String jsonResult = JSONValue.toJSONString(res);