public T export(File workDir, T job) throws IOException { logger.info("ENTERING export(File, LSFJob)"); File submitFile = new File(workDir, String.format("%s.sub", job.getName())); FileWriter submitFileWriter = new FileWriter(submitFile); submitFileWriter.write(String.format("#$ -V%n", job.getName())); submitFileWriter.write(String.format("#$ -N %s%n", job.getName())); if (StringUtils.isNotEmpty(job.getQueueName())) { submitFileWriter.write(String.format("#$ -q %s%n", job.getQueueName())); if (StringUtils.isNotEmpty(job.getProject())) { submitFileWriter.write(String.format("#$ -P %s%n", job.getProject())); if (job.getWallTime() != null) { submitFileWriter.write(String.format("#$ -l h_rt=%02d:%02d:00%n", (job.getWallTime() % 3600) / 60, (job.getWallTime() % 60))); if (job.getMemory() != null) { submitFileWriter.write(String.format("#$ -l mf=%dG%n", job.getMemory() / 1024)); job.setOutput(new File(String.format("%s/%s.out", workDir.getAbsolutePath(), job.getOutput().getName()))); job.setError(new File(String.format("%s/%s.err", workDir.getAbsolutePath(), job.getError().getName()))); submitFileWriter.write(String.format("#$ -o %s%n", job.getOutput().getAbsolutePath())); submitFileWriter.write(String.format("#$ -e %s%n", job.getError().getAbsolutePath())); submitFileWriter.write(String.format("#$ -pe threads %d%n", job.getNumberOfProcessors())); submitFileWriter.write(job.getExecutable().getAbsolutePath());
@Override public Void call() throws JLRMException { logger.info("ENTERING call()"); String command = String.format("qdel %s", this.jobId); SSHConnectionUtil.execute(command, site.getUsername(), getSite().getSubmitHost()); return null; }
String command = String.format("(mkdir -p $HOME/%s && echo $HOME)", remoteWorkDirSuffix); String remoteHome = SSHConnectionUtil.execute(command, site.getUsername(), getSite().getSubmitHost()); logger.info("localWorkDir: {}", localWorkDir.getAbsolutePath()); SGESubmitScriptExporter<SGESSHJob> exporter = new SGESubmitScriptExporter<SGESSHJob>(); this.job = exporter.export(localWorkDir, remoteWorkDir, this.job); this.job.getTransferExecutable(), this.job.getExecutable(), this.job.getTransferInputs(), this.job.getInputFiles(), job.getSubmitFile()); String targetFile = String.format("%s/%s", remoteWorkDir, job.getSubmitFile().getName()); String submitOutput = SSHConnectionUtil.execute(command, site.getUsername(), getSite().getSubmitHost()); throw new JLRMException("failed to parse the jobid number"); } else { job.setId(matcher.group(1));
SGESSHJob job = new SGESSHJob(); job.setTransferExecutable(Boolean.TRUE); job.setTransferInputs(Boolean.TRUE); job.setQueueName(this.queue.getName()); job.setName(this.jobName); job.setHostCount(1); job.setNumberOfProcessors(getQueue().getNumberOfProcessors()); job.setOutput(new File("glidein.out")); job.setError(new File("glidein.err")); job.setWallTime(this.queue.getRunTime()); job.setMemory(null); velocityContext.put("siteName", getSite().getSubmitHost()); velocityContext.put("collectorHost", this.collectorHost); velocityContext.put("jlrmUser", this.username); velocityContext.put("jlrmSiteName", getSite().getName()); velocityContext.put("hostAllowRead", this.hostAllowRead); velocityContext.put("hostAllowWrite", this.hostAllowWrite); String remoteHome = SSHConnectionUtil.execute(command, site.getUsername(), getSite().getSubmitHost()); .getResourceAsStream("org/renci/jlrm/sge/ssh/glidein.sh.vm")); File glideinScript = new File(localWorkDir.getAbsolutePath(), "glidein.sh"); writeTemplate(velocityContext, glideinScript, glideinScriptMacro); job.setExecutable(glideinScript); writeTemplate(velocityContext, condorConfigLocal, condorConfigLocalScriptMacro); job.getInputFiles().add(condorConfigLocal);
String output = SSHConnectionUtil.execute(command, site.getUsername(), getSite().getSubmitHost());
public T export(File workDir, String remoteWorkDir, T job) throws IOException { logger.info("ENTERING export(File, SGESSHJob)"); File submitFile = new File(workDir, String.format("%s.sub", job.getName())); submitFileWriter.write(String.format("#$ -V%n", job.getName())); submitFileWriter.write(String.format("#$ -N %s%n", job.getName())); if (StringUtils.isNotEmpty(job.getQueueName())) { submitFileWriter.write(String.format("#$ -q %s%n", job.getQueueName())); if (StringUtils.isNotEmpty(job.getProject())) { submitFileWriter.write(String.format("#$ -P %s%n", job.getProject())); if (job.getWallTime() != null) { submitFileWriter.write(String.format("#$ -l h_rt=%02d:%02d:00%n", (job.getWallTime() % 3600) / 60, (job.getWallTime() % 60))); if (job.getMemory() != null) { submitFileWriter.write(String.format("#$ -l mf=%s%n", job.getMemory())); job.setOutput(new File(String.format("%s/%s.out", remoteWorkDir, job.getOutput().getName()))); job.setError(new File(String.format("%s/%s.err", remoteWorkDir, job.getError().getName()))); submitFileWriter.write(String.format("#$ -o %s%n", job.getOutput().getAbsolutePath())); submitFileWriter.write(String.format("#$ -e %s%n", job.getError().getAbsolutePath())); if (job.getNumberOfProcessors() != null) { submitFileWriter.write(String.format("#$ -pe threads %d%n", job.getNumberOfProcessors())); if (job.getTransferExecutable()) {