|
From: <ha...@us...> - 2008-09-23 04:36:38
|
Revision: 2183
http://cogkit.svn.sourceforge.net/cogkit/?rev=2183&view=rev
Author: hategan
Date: 2008-09-23 04:36:32 +0000 (Tue, 23 Sep 2008)
Log Message:
-----------
added shutdown watchdog
Modified Paths:
--------------
trunk/current/src/cog/modules/provider-coaster/src/org/globus/cog/abstraction/coaster/service/CoasterService.java
Modified: trunk/current/src/cog/modules/provider-coaster/src/org/globus/cog/abstraction/coaster/service/CoasterService.java
===================================================================
--- trunk/current/src/cog/modules/provider-coaster/src/org/globus/cog/abstraction/coaster/service/CoasterService.java 2008-09-23 00:36:41 UTC (rev 2182)
+++ trunk/current/src/cog/modules/provider-coaster/src/org/globus/cog/abstraction/coaster/service/CoasterService.java 2008-09-23 04:36:32 UTC (rev 2183)
@@ -22,7 +22,6 @@
import org.globus.cog.karajan.workflow.service.RemoteConfiguration;
import org.globus.cog.karajan.workflow.service.RequestManager;
import org.globus.cog.karajan.workflow.service.ServiceRequestManager;
-import org.globus.cog.karajan.workflow.service.channels.ChannelException;
import org.globus.cog.karajan.workflow.service.channels.ChannelManager;
import org.globus.cog.karajan.workflow.service.channels.KarajanChannel;
import org.globus.gsi.gssapi.auth.SelfAuthorization;
@@ -172,12 +171,35 @@
}
public void shutdown() {
+ startShutdownWatchdog();
super.shutdown();
jobQueue.getWorkerManager().shutdown();
done = true;
logger.info("Shutdown sequence completed");
}
+ private void startShutdownWatchdog() {
+ new Thread() {
+ {
+ setName("Shutdown watchdog");
+ setDaemon(true);
+ }
+
+ public void run() {
+ try {
+ Thread.sleep(5 * 60 * 1000);
+ logger
+ .info("Shutdown failed after 5 minutes. Forcefully shutting down");
+ System.exit(3);
+ }
+ catch (InterruptedException e) {
+ e.printStackTrace();
+ }
+ }
+
+ }.start();
+ }
+
public JobQueue getJobQueue() {
return jobQueue;
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|