summaryrefslogtreecommitdiffstats
path: root/gearman/controllerWorker/ControllerWorker/Shutdown.java
diff options
context:
space:
mode:
Diffstat (limited to 'gearman/controllerWorker/ControllerWorker/Shutdown.java')
-rw-r--r--gearman/controllerWorker/ControllerWorker/Shutdown.java8
1 files changed, 6 insertions, 2 deletions
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<Integer, GearmanJob> pingJobs;
@@ -46,7 +47,8 @@ public class Shutdown extends Thread {
private GearmanClient gearmanClient;
public Shutdown(String serverAddress, int port,
- Vector<HashMap<String, String>> clients, int updateRate) {
+ Vector<HashMap<String, String>> clients, int updateRate,
+ long waitTime) {
this.pingJobs = new HashMap<Integer, GearmanJob>();
this.whoJobs = new HashMap<Integer, GearmanJob>();
this.shutdownJobs = new HashMap<Integer, GearmanJob>();
@@ -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<String, String> 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);