You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by de...@apache.org on 2013/01/29 19:43:44 UTC
svn commit: r1440052 - in /uima/sandbox/uima-ducc/trunk: uima-ducc-spawn/src/
uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/
uima-ducc-web/src/main/webapp/root/js/
Author: degenaro
Date: Tue Jan 29 18:43:43 2013
New Revision: 1440052
URL: http://svn.apache.org/viewvc?rev=1440052&view=rev
Log:
UIMA-2614 Provide immediate user feedback for webserver Terminate buttons to cancel Job/Reservation/Service
Modified:
uima/sandbox/uima-ducc/trunk/uima-ducc-spawn/src/ducc_ling.c
uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccAsUser.java
uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccHandler.java
uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/webapp/root/js/ducc.js
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-spawn/src/ducc_ling.c
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-spawn/src/ducc_ling.c?rev=1440052&r1=1440051&r2=1440052&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-spawn/src/ducc_ling.c (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-spawn/src/ducc_ling.c Tue Jan 29 18:43:43 2013
@@ -646,6 +646,9 @@ int main(int argc, char **argv, char **e
for ( i = 1; i < argc; i++ ) {
fprintf(stdout, " arg[%d]: %s\n", i, argv[i]);
}
+ fprintf(stdout, "1001 Command launching...\n");
+ fflush(stdout);
+ fflush(stderr);
execve(argv[0], argv, envp); // just run the passed-in command
//
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccAsUser.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccAsUser.java?rev=1440052&r1=1440051&r2=1440052&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccAsUser.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccAsUser.java Tue Jan 29 18:43:43 2013
@@ -34,10 +34,14 @@ public class DuccAsUser {
private static DuccLogger duccLogger = DuccLoggerComponents.getWsLogger(DuccAsUser.class.getName());
private static Messages messages = Messages.getInstance();
- public static boolean duckling(String[] args) {
+ public static String magicString = "1001 Command launching...";
+
+ public static String duckling(String[] args) {
String methodName = "duckling";
+ StringBuffer retVal = new StringBuffer();
+
String c_launcher_path =
Utils.resolvePlaceholderIfExists(
System.getProperty("ducc.agent.launcher.ducc_spawn_path"),System.getProperties());
@@ -66,6 +70,9 @@ public class DuccAsUser {
duccLogger.info(methodName, null, "plist: "+sbInfo.toString().trim());
duccLogger.debug(methodName, null, "plist: "+sbDebug.toString().trim());
+ duccLogger.info(methodName, null, "cmd: "+cmd);
+ duccLogger.trace(methodName, null, "cmd: "+cmd);
+
ProcessBuilder pb = new ProcessBuilder(cmd);
Map<String, String> env = pb.environment();
@@ -77,20 +84,35 @@ public class DuccAsUser {
String line;
BufferedReader bri = new BufferedReader(new InputStreamReader(process.getInputStream()));
BufferedReader bre = new BufferedReader(new InputStreamReader(process.getErrorStream()));
+ boolean trigger = false;
+ duccLogger.trace(methodName, null, "read stdout: start");
while ((line = bri.readLine()) != null) {
duccLogger.info(methodName, null, "stdout: "+line);
+ if(trigger) {
+ retVal.append(line);
+ }
+ if(line.startsWith(magicString)) {
+ duccLogger.trace(methodName, null, "magic!");
+ trigger = true;
+ }
}
bri.close();
+ duccLogger.trace(methodName, null, "read stdout: end");
+ duccLogger.trace(methodName, null, "read stderr: start");
while ((line = bre.readLine()) != null) {
duccLogger.warn(methodName, null, "stderr: "+line);
+ retVal.append(line);
}
bre.close();
+ duccLogger.trace(methodName, null, "read stderr: end");
+ duccLogger.trace(methodName, null, "process waitfor: start");
process.waitFor();
+ duccLogger.trace(methodName, null, "process waitfor: end");
}
catch(Exception e) {
duccLogger.info(methodName, null, e);
}
- return true;
+ return retVal.toString();
}
}
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccHandler.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccHandler.java?rev=1440052&r1=1440051&r2=1440052&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccHandler.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccHandler.java Tue Jan 29 18:43:43 2013
@@ -2260,6 +2260,7 @@ public class DuccHandler extends DuccAbs
DuccData duccData = DuccData.getInstance();
DuccWorkMap duccWorkMap = duccData.get();
String text;
+ String result;
IDuccWorkJob duccWorkJob = (IDuccWorkJob) duccWorkMap.findDuccWork(DuccType.Job, value);
if(duccWorkJob != null) {
String resourceOwnerUserId = duccWorkJob.getStandardInfo().getUser().trim();
@@ -2276,12 +2277,14 @@ public class DuccHandler extends DuccAbs
case Administrator:
String arg3 = "--"+SpecificationProperties.key_role_administrator;
String[] arglistAdministrator = { "-u", userId, "--", jhome+java, "-cp", cp, jclass, arg1, arg2, arg3 };
- DuccAsUser.duckling(arglistAdministrator);
+ result = DuccAsUser.duckling(arglistAdministrator);
+ response.getWriter().println(result);
break;
case User:
default:
String[] arglistUser = { "-u", userId, "--", jhome+java, "-cp", cp, jclass, arg1, arg2 };
- DuccAsUser.duckling(arglistUser);
+ result = DuccAsUser.duckling(arglistUser);
+ response.getWriter().println(result);
break;
}
}
@@ -2372,6 +2375,7 @@ public class DuccHandler extends DuccAbs
DuccData duccData = DuccData.getInstance();
DuccWorkMap duccWorkMap = duccData.get();
String text;
+ String result;
IDuccWorkReservation duccWorkReservation = (IDuccWorkReservation) duccWorkMap.findDuccWork(DuccType.Reservation, value);
if(duccWorkReservation != null) {
String resourceOwnerUserId = duccWorkReservation.getStandardInfo().getUser().trim();
@@ -2388,12 +2392,14 @@ public class DuccHandler extends DuccAbs
case Administrator:
String arg3 = "--"+SpecificationProperties.key_role_administrator;
String[] arglistAdministrator = { "-u", userId, "--", jhome+java, "-cp", cp, jclass, arg1, arg2, arg3 };
- DuccAsUser.duckling(arglistAdministrator);
+ result = DuccAsUser.duckling(arglistAdministrator);
+ response.getWriter().println(result);
break;
case User:
default:
String[] arglistUser = { "-u", userId, "--", jhome+java, "-cp", cp, jclass, arg1, arg2 };
- DuccAsUser.duckling(arglistUser);
+ result = DuccAsUser.duckling(arglistUser);
+ response.getWriter().println(result);
break;
}
}
@@ -2436,6 +2442,7 @@ public class DuccHandler extends DuccAbs
DuccData duccData = DuccData.getInstance();
DuccWorkMap duccWorkMap = duccData.get();
String text;
+ String result;
IDuccWorkJob duccWorkJob = (IDuccWorkJob) duccWorkMap.findDuccWork(DuccType.Service, value);
if(duccWorkJob != null) {
String resourceOwnerUserId = duccWorkJob.getStandardInfo().getUser().trim();
@@ -2452,12 +2459,14 @@ public class DuccHandler extends DuccAbs
case Administrator:
String arg3 = "--"+SpecificationProperties.key_role_administrator;
String[] arglistAdministrator = { "-u", userId, "--", jhome+java, "-cp", cp, jclass, arg1, arg2, arg3 };
- DuccAsUser.duckling(arglistAdministrator);
+ result = DuccAsUser.duckling(arglistAdministrator);
+ response.getWriter().println(result);
break;
case User:
default:
String[] arglistUser = { "-u", userId, "--", jhome+java, "-cp", cp, jclass, arg1, arg2 };
- DuccAsUser.duckling(arglistUser);
+ result = DuccAsUser.duckling(arglistUser);
+ response.getWriter().println(result);
break;
}
}
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/webapp/root/js/ducc.js
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/webapp/root/js/ducc.js?rev=1440052&r1=1440051&r2=1440052&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/webapp/root/js/ducc.js (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/webapp/root/js/ducc.js Tue Jan 29 18:43:43 2013
@@ -1739,6 +1739,7 @@ function ducc_terminate_job(id)
url : "/ducc-servlet/job-cancel-request"+"?id="+id,
success : function (data)
{
+ $.jGrowl(data, { life: 6000 });
setTimeout(function(){window.close();}, 5000);
}
});
@@ -1760,6 +1761,7 @@ function ducc_terminate_service(id)
url : "/ducc-servlet/service-cancel-request"+"?id="+id,
success : function (data)
{
+ $.jGrowl(data, { life: 6000 });
setTimeout(function(){window.close();}, 5000);
}
});
@@ -1781,6 +1783,7 @@ function ducc_terminate_reservation(id)
url : "/ducc-servlet/reservation-cancel-request"+"?id="+id,
success : function (data)
{
+ $.jGrowl(data, { life: 6000 });
setTimeout(function(){window.close();}, 5000);
}
});