public void run() { try { JobTemplate jt; do { jt = this.createJobTemplateException(); } while (this.jobTemplateException); String cwd; jt.setWorkingDirectory(java.lang.System.getProperty("user.dir")); cwd = jt.getWorkingDirectory(); System.out.println("The working directory is: " + cwd); String name; jt.setJobName(this.name); name = jt.getJobName(); System.out.println("The jobTemplate name is: " + name); jt.setRemoteCommand(this.executable); jt.setArgs(this.args); jt.setOutputPath("stdout." + GridWaySession.GW_JOB_ID); jt.setErrorPath("stderr." + GridWaySession.GW_JOB_ID); for (int i = 0; i < this.nJobs; i++) { if (jt != null) { String id = this.session.runJob(jt); System.out.println("Job successfully submitted ID: " + id); } } } catch (Exception e) { this.setException(e); } }
public static void main(String[] args) { SessionFactory factory = SessionFactory.getFactory(); Session session = factory.getSession(); try { session.init(""); JobTemplate jt = session.createJobTemplate(); jt.setRemoteCommand("sleeper.sh"); jt.setArgs(Collections.singletonList("5")); java.util.List ids = session.runBulkJobs(jt, 1, 30, 2); java.util.Iterator i = ids.iterator(); while (i.hasNext()) { System.out.println("Your job has been submitted with id " + i.next()); } session.deleteJobTemplate(jt); session.exit(); } catch (DrmaaException e) { System.out.println("Error: " + e.getMessage()); } }
public static void master(int numJobs) { SessionFactory factory = SessionFactory.getFactory(); Session session = factory.getSession(); try { session.init(""); JobTemplate jt = session.createJobTemplate(); jt.setRemoteCommand("java"); String home = java.lang.System.getProperty("user.dir"); jt.setWorkingDirectory(home); List<String> jobIds = Lists.newArrayList(); for (int i = 0; i < numJobs; i++) { jt.setErrorPath(":" + home + "/error" + i + ".txt"); jt.setOutputPath(":" + home + "/out" + i + ".txt"); jt.setArgs( Lists.newArrayList( "-Djava.library.path=/opt/uge816/lib/lx-amd64/:/opt/ibm/ILOG/CPLEX_Studio125/cplex/bin/x86-64_sles10_4.1/", "-jar", home + "/drmaaTest.jar", "worker", Integer.toString(i))); String id = session.runJob(jt); System.out.println("Your job has been submitted with id " + id); } session.deleteJobTemplate(jt); session.synchronize(jobIds, Session.TIMEOUT_WAIT_FOREVER, true); System.out.println("All jobs finished!"); session.exit(); List<String> answers = Lists.newArrayList(); for (int i = 0; i < numJobs; i++) { String ans = "error"; String jobName = "job" + i + ".txt"; File file = new File(jobName); long msToWait = 2000; while (!file.exists()) { System.out.println( "waiting for file system to show " + jobName + ". Sleeping " + msToWait + "ms"); try { Thread.sleep(msToWait); } catch (InterruptedException e) { } msToWait = 2 * msToWait; } if (file.exists()) { try { BufferedReader reader = new BufferedReader(new FileReader(jobName)); String firstLine = reader.readLine(); if (firstLine != null) { ans = firstLine; } reader.close(); } catch (IOException e) { ans = "I/O error"; } } answers.add(ans); } System.out.println("Answers: " + answers); } catch (DrmaaException e) { System.out.println("Error: " + e.getMessage()); throw new RuntimeException(e); } }