summaryrefslogtreecommitdiffstats
path: root/gearman/controllerWorker/ControllerWorker/Shutdown.java
diff options
context:
space:
mode:
Diffstat (limited to 'gearman/controllerWorker/ControllerWorker/Shutdown.java')
-rwxr-xr-xgearman/controllerWorker/ControllerWorker/Shutdown.java18
1 files changed, 13 insertions, 5 deletions
diff --git a/gearman/controllerWorker/ControllerWorker/Shutdown.java b/gearman/controllerWorker/ControllerWorker/Shutdown.java
index 32413ca..68deb6c 100755
--- a/gearman/controllerWorker/ControllerWorker/Shutdown.java
+++ b/gearman/controllerWorker/ControllerWorker/Shutdown.java
@@ -29,6 +29,7 @@ public class Shutdown extends Thread {
private static final Logger logger = ControllerWorkerMain.getLogger();
private String eventName;
+ private Boolean force;
private Vector<Client> clients;
private final int updateRate;
private long waitTime;
@@ -41,11 +42,12 @@ public class Shutdown extends Thread {
private Boolean finished;
private Boolean error;
- public Shutdown(String eventName, Vector<Client> clients, int updateRate,
- long waitTime, long scsavTime, Vector<String> psWhitelist,
- Vector<String> psBlacklist, String gearmanServerAddress,
- int gearmanServerPort) {
+ public Shutdown(String eventName, Boolean force, Vector<Client> clients,
+ int updateRate, long waitTime, long scsavTime,
+ Vector<String> psWhitelist, Vector<String> psBlacklist,
+ String gearmanServerAddress, int gearmanServerPort) {
this.eventName = eventName;
+ this.force = force;
this.clients = clients;
this.updateRate = updateRate; // updates per second
this.waitTime = waitTime * 1000;
@@ -157,7 +159,13 @@ public class Shutdown extends Thread {
break;
case USER_IS_LOGGED_IN:
- ps(client);
+ if (force) {
+ logger.info(client.getIp() + " force is enabled");
+ // is not working
+ client.setState(ClientState.SHUTDOWN_CLIENT, gearmanClient);
+ } else {
+ ps(client);
+ }
break;