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("#SBATCH -J %s%n", job.getName())); if (StringUtils.isNotEmpty(job.getQueueName())) { submitFileWriter.write(String.format("#SBATCH - %s%n", job.getQueueName())); if (StringUtils.isNotEmpty(job.getProject())) { submitFileWriter.write(String.format("#SBATCH -A %s%n", job.getProject())); if (job.getWallTime() != null) { submitFileWriter.write(String.format("#SBATCH -t %d%n", job.getWallTime() / 60)); if (job.getMemory() != null) { submitFileWriter.write(String.format("#SBATCH --mem %s%n", job.getMemory())); 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("#SBATCH -o %s%n", job.getOutput().getAbsolutePath())); submitFileWriter.write(String.format("#SBATCH -e %s%n", job.getError().getAbsolutePath())); submitFileWriter.write(String.format("#SBATCH -N %d%n", job.getHostCount())); submitFileWriter.write(String.format("#SBATCH -n %d%n", job.getNumberOfProcessors())); submitFileWriter.write(job.getExecutable().getAbsolutePath());
SLURMSSHJob job = new SLURMSSHJob(); 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); File glideinScript = new File(localWorkDir.getAbsolutePath(), "glidein.sh"); writeTemplate(velocityContext, glideinScript, glideinScriptMacro); job.setExecutable(glideinScript); File condorConfigLocal = new File(localWorkDir.getAbsolutePath(), "condor_config.local"); writeTemplate(velocityContext, condorConfigLocal, condorConfigLocalScriptMacro); job.getInputFiles().add(condorConfigLocal); File condorConfig = new File(localWorkDir.getAbsolutePath(), "condor_config"); writeTemplate(velocityContext, condorConfig, condorConfigScriptMacro); job.getInputFiles().add(condorConfig); this.job = exporter.export(localWorkDir, remoteWorkDir, job); SSHConnectionUtil.transferSubmitScript(site.getUsername(), site.getSubmitHost(), remoteWorkDir, this.job.getTransferExecutable(), this.job.getExecutable(), this.job.getTransferInputs(), this.job.getInputFiles(), job.getSubmitFile());
this.job.getTransferExecutable(), this.job.getExecutable(), this.job.getTransferInputs(), this.job.getInputFiles(), job.getSubmitFile()); command = String.format("sbatch %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));
public T export(File workDir, String remoteWorkDir, T job) throws IOException { logger.info("ENTERING export(File, String, T)"); File submitFile = new File(workDir, String.format("%s.sub", job.getName())); submitFileWriter.write(String.format("#SBATCH -J %s%n", job.getName())); if (StringUtils.isNotEmpty(job.getQueueName())) { submitFileWriter.write(String.format("#SBATCH -p %s%n", job.getQueueName())); if (StringUtils.isNotEmpty(job.getProject())) { submitFileWriter.write(String.format("#SBATCH -A %s%n", job.getProject())); if (job.getWallTime() != null) { submitFileWriter.write(String.format("#SBATCH -t %d%n", job.getWallTime())); 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("#SBATCH -o %s/%s%n", remoteWorkDir, job.getOutput().getName())); submitFileWriter.write(String.format("#SBATCH -e %s/%s%n", remoteWorkDir, job.getError().getName())); if (job.getHostCount() != null) { submitFileWriter.write(String.format("#SBATCH -N %d%n", job.getHostCount())); if (job.getNumberOfProcessors() != null) { submitFileWriter.write(String.format("#SBATCH -n %d%n", job.getNumberOfProcessors())); if (job.getTransferExecutable()) { submitFileWriter.write(remoteWorkDir + File.separator + job.getExecutable().getName()); } else {