|
From: <ha...@us...> - 2007-04-05 18:28:34
|
Revision: 1629
http://svn.sourceforge.net/cogkit/?rev=1629&view=rev
Author: hategan
Date: 2007-04-05 11:28:29 -0700 (Thu, 05 Apr 2007)
Log Message:
-----------
added some logging info; fixed empty args
Modified Paths:
--------------
trunk/current/src/cog/modules/provider-localscheduler/src/org/globus/cog/abstraction/impl/scheduler/pbs/PBSExecutor.java
Modified: trunk/current/src/cog/modules/provider-localscheduler/src/org/globus/cog/abstraction/impl/scheduler/pbs/PBSExecutor.java
===================================================================
--- trunk/current/src/cog/modules/provider-localscheduler/src/org/globus/cog/abstraction/impl/scheduler/pbs/PBSExecutor.java 2007-03-23 01:07:38 UTC (rev 1628)
+++ trunk/current/src/cog/modules/provider-localscheduler/src/org/globus/cog/abstraction/impl/scheduler/pbs/PBSExecutor.java 2007-04-05 18:28:29 UTC (rev 1629)
@@ -75,9 +75,12 @@
logger.debug("Wrote PBS script to " + script);
}
- Process process = Runtime.getRuntime().exec(
- new String[] { Properties.getProperties().getQSub(),
- script.getAbsolutePath() }, null, null);
+ String[] cmdline = new String[] { Properties.getProperties().getQSub(),
+ script.getAbsolutePath() };
+ if (logger.isDebugEnabled()) {
+ logger.debug(cmdline[0]+" "+cmdline[1]);
+ }
+ Process process = Runtime.getRuntime().exec(cmdline, null, null);
try {
process.getOutputStream().close();
@@ -117,11 +120,12 @@
private void error(String message) {
listener.processFailed(message);
}
-
- protected void writeAttr(String attrName, String arg, Writer wr) throws IOException {
+
+ protected void writeAttr(String attrName, String arg, Writer wr)
+ throws IOException {
Object value = spec.getAttribute(attrName);
if (value != null) {
- wr.write("#PBS "+arg + String.valueOf(value) + '\n');
+ wr.write("#PBS " + arg + String.valueOf(value) + '\n');
}
}
@@ -168,6 +172,9 @@
}
protected String quote(String s) {
+ if ("".equals(s)) {
+ return "\"\"";
+ }
boolean quotes = false;
if (s.indexOf(' ') != -1) {
quotes = true;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ha...@us...> - 2007-04-05 20:02:00
|
Revision: 1630
http://svn.sourceforge.net/cogkit/?rev=1630&view=rev
Author: hategan
Date: 2007-04-05 13:01:58 -0700 (Thu, 05 Apr 2007)
Log Message:
-----------
added project attr
Modified Paths:
--------------
trunk/current/src/cog/modules/provider-localscheduler/src/org/globus/cog/abstraction/impl/scheduler/pbs/PBSExecutor.java
Modified: trunk/current/src/cog/modules/provider-localscheduler/src/org/globus/cog/abstraction/impl/scheduler/pbs/PBSExecutor.java
===================================================================
--- trunk/current/src/cog/modules/provider-localscheduler/src/org/globus/cog/abstraction/impl/scheduler/pbs/PBSExecutor.java 2007-04-05 18:28:29 UTC (rev 1629)
+++ trunk/current/src/cog/modules/provider-localscheduler/src/org/globus/cog/abstraction/impl/scheduler/pbs/PBSExecutor.java 2007-04-05 20:01:58 UTC (rev 1630)
@@ -134,6 +134,7 @@
wr.write("#PBS -S /bin/sh\n");
wr.write("#PBS -N " + task.getName() + '\n');
wr.write("#PBS -m n\n");
+ writeAttr("project", "-A", wr);
writeAttr("count", "-l nodes=", wr);
writeAttr("maxwalltime", "-l walltime=", wr);
writeAttr("queue", "-q ", wr);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ha...@us...> - 2007-04-06 01:11:50
|
Revision: 1631
http://svn.sourceforge.net/cogkit/?rev=1631&view=rev
Author: hategan
Date: 2007-04-05 18:10:56 -0700 (Thu, 05 Apr 2007)
Log Message:
-----------
with the proper space this time
Modified Paths:
--------------
trunk/current/src/cog/modules/provider-localscheduler/src/org/globus/cog/abstraction/impl/scheduler/pbs/PBSExecutor.java
Modified: trunk/current/src/cog/modules/provider-localscheduler/src/org/globus/cog/abstraction/impl/scheduler/pbs/PBSExecutor.java
===================================================================
--- trunk/current/src/cog/modules/provider-localscheduler/src/org/globus/cog/abstraction/impl/scheduler/pbs/PBSExecutor.java 2007-04-05 20:01:58 UTC (rev 1630)
+++ trunk/current/src/cog/modules/provider-localscheduler/src/org/globus/cog/abstraction/impl/scheduler/pbs/PBSExecutor.java 2007-04-06 01:10:56 UTC (rev 1631)
@@ -134,7 +134,7 @@
wr.write("#PBS -S /bin/sh\n");
wr.write("#PBS -N " + task.getName() + '\n');
wr.write("#PBS -m n\n");
- writeAttr("project", "-A", wr);
+ writeAttr("project", "-A ", wr);
writeAttr("count", "-l nodes=", wr);
writeAttr("maxwalltime", "-l walltime=", wr);
writeAttr("queue", "-q ", wr);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ha...@us...> - 2007-10-19 20:26:52
|
Revision: 1782
http://cogkit.svn.sourceforge.net/cogkit/?rev=1782&view=rev
Author: hategan
Date: 2007-10-19 13:26:38 -0700 (Fri, 19 Oct 2007)
Log Message:
-----------
added debug option
Modified Paths:
--------------
trunk/current/src/cog/modules/provider-localscheduler/src/org/globus/cog/abstraction/impl/scheduler/pbs/PBSExecutor.java
Modified: trunk/current/src/cog/modules/provider-localscheduler/src/org/globus/cog/abstraction/impl/scheduler/pbs/PBSExecutor.java
===================================================================
--- trunk/current/src/cog/modules/provider-localscheduler/src/org/globus/cog/abstraction/impl/scheduler/pbs/PBSExecutor.java 2007-10-11 01:48:54 UTC (rev 1781)
+++ trunk/current/src/cog/modules/provider-localscheduler/src/org/globus/cog/abstraction/impl/scheduler/pbs/PBSExecutor.java 2007-10-19 20:26:38 UTC (rev 1782)
@@ -38,6 +38,11 @@
private ProcessListener listener;
private String stdout, stderr, exitcode;
private File script;
+ private static boolean debug;
+
+ static {
+ debug = "true".equals(Properties.getProperties().getProperty("debug"));
+ }
public PBSExecutor(Task task, ProcessListener listener) {
this.task = task;
@@ -277,14 +282,16 @@
}
protected void cleanup() {
- script.delete();
- new File(exitcode).delete();
- if (spec.getStdOutput() == null && stdout != null) {
- new File(stdout).delete();
+ if (!debug) {
+ script.delete();
+ new File(exitcode).delete();
+ if (spec.getStdOutput() == null && stdout != null) {
+ new File(stdout).delete();
+ }
+ if (spec.getStdError() == null && stderr != null) {
+ new File(stderr).delete();
+ }
}
- if (spec.getStdError() == null && stderr != null) {
- new File(stderr).delete();
- }
}
public void processCompleted(int exitCode) {
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ha...@us...> - 2007-10-19 20:49:51
|
Revision: 1783
http://cogkit.svn.sourceforge.net/cogkit/?rev=1783&view=rev
Author: hategan
Date: 2007-10-19 13:49:30 -0700 (Fri, 19 Oct 2007)
Log Message:
-----------
better quoting and escaping
Modified Paths:
--------------
trunk/current/src/cog/modules/provider-localscheduler/src/org/globus/cog/abstraction/impl/scheduler/pbs/PBSExecutor.java
Modified: trunk/current/src/cog/modules/provider-localscheduler/src/org/globus/cog/abstraction/impl/scheduler/pbs/PBSExecutor.java
===================================================================
--- trunk/current/src/cog/modules/provider-localscheduler/src/org/globus/cog/abstraction/impl/scheduler/pbs/PBSExecutor.java 2007-10-19 20:26:38 UTC (rev 1782)
+++ trunk/current/src/cog/modules/provider-localscheduler/src/org/globus/cog/abstraction/impl/scheduler/pbs/PBSExecutor.java 2007-10-19 20:49:30 UTC (rev 1783)
@@ -195,15 +195,35 @@
wr.write("/bin/echo $? >" + exitcodefile + '\n');
wr.close();
}
+
+ private static final boolean[] TRIGGERS;
+
+ static {
+ TRIGGERS = new boolean[128];
+ TRIGGERS[' '] = true;
+ TRIGGERS['\n'] = true;
+ TRIGGERS['\t'] = true;
+ TRIGGERS['|'] = true;
+ TRIGGERS['\\'] = true;
+ TRIGGERS['>'] = true;
+ TRIGGERS['<'] = true;
+ }
protected String quote(String s) {
if ("".equals(s)) {
return "\"\"";
}
boolean quotes = false;
- if (s.indexOf(' ') != -1) {
- quotes = true;
+ for (int i = 0; i < s.length(); i++) {
+ char c = s.charAt(i);
+ if (c < 128 && TRIGGERS[c]) {
+ quotes = true;
+ break;
+ }
}
+ if (!quotes) {
+ return s;
+ }
StringBuffer sb = new StringBuffer();
if (quotes) {
sb.append('"');
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ha...@us...> - 2008-02-12 17:32:05
|
Revision: 1893
http://cogkit.svn.sourceforge.net/cogkit/?rev=1893&view=rev
Author: hategan
Date: 2008-02-12 09:32:00 -0800 (Tue, 12 Feb 2008)
Log Message:
-----------
attempt to make this behave better if the job directory is invalid
Modified Paths:
--------------
trunk/current/src/cog/modules/provider-localscheduler/src/org/globus/cog/abstraction/impl/scheduler/pbs/PBSExecutor.java
Modified: trunk/current/src/cog/modules/provider-localscheduler/src/org/globus/cog/abstraction/impl/scheduler/pbs/PBSExecutor.java
===================================================================
--- trunk/current/src/cog/modules/provider-localscheduler/src/org/globus/cog/abstraction/impl/scheduler/pbs/PBSExecutor.java 2008-02-12 17:29:05 UTC (rev 1892)
+++ trunk/current/src/cog/modules/provider-localscheduler/src/org/globus/cog/abstraction/impl/scheduler/pbs/PBSExecutor.java 2008-02-12 17:32:00 UTC (rev 1893)
@@ -143,9 +143,6 @@
writeAttr("count", "-l nodes=", wr);
writeAttr("maxwalltime", "-l walltime=", wr);
writeAttr("queue", "-q ", wr);
- if (spec.getDirectory() != null) {
- wr.write("#PBS -d " + quote(spec.getDirectory()) + '\n');
- }
if (spec.getStdInput() != null) {
throw new IOException("The PBSlocal provider cannot redirect STDIN");
}
@@ -178,6 +175,9 @@
logger.debug("Wrapper after variable substitution: " + wrapper);
}
}
+ if (spec.getDirectory() != null) {
+ wr.write("cd " + quote(spec.getDirectory()) + " && ");
+ }
wr.write(quote(spec.getExecutable()));
List args = spec.getArgumentsAsList();
if (args != null && args.size() > 0) {
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|