#include <arc/Logger.h>
#include <arc/UserConfig.h>
#include <arc/compute/Endpoint.h>
#include <arc/compute/Job.h>
#include <arc/compute/JobDescription.h>
#include <arc/compute/Submitter.h>
#include <arc/compute/JobInformationStorageXML.h>
int main() {
std::string jobdesc("&(executable=/bin/hostname)(stdout=stdout)");
std::list<Arc::JobDescription> jobdescs;
logger.msg(
Arc::ERROR,
"Invalid job description");
return 1;
}
Arc::Endpoint index(
"ldap://index1.nordugrid.org:2135/Mds-Vo-name=NorduGrid,o=grid",
"org.nordugrid.ldapegiis");
std::list<Arc::Endpoint> services(1, index);
std::list<Arc::Job> jobs;
if (submitter.BrokeredSubmit(services, jobdescs, jobs) != Arc::SubmissionStatus::NONE) {
return 1;
}
if (!jobList.Write(jobs)) {
logger.msg(
Arc::WARNING,
"Failed to write to local job list %s", usercfg.JobListFile());
}
std::cout << "Job submitted with job id " << jobs.front().JobID << std::endl;
return 0;
}
5 logstdout = arc.LogStream(sys.stdout)
6 logstdout.setFormat(arc.ShortFormat)
7 arc.Logger_getRootLogger().addDestination(logstdout)
8 arc.Logger_getRootLogger().setThreshold(arc.VERBOSE)
9 logger = arc.Logger(arc.Logger_getRootLogger(),
"jobsubmit")
13 usercfg = arc.UserConfig(
"",
"")
16 jobdescstring =
"&(executable=/bin/hostname)(stdout=stdout)"
19 jobdescs = arc.JobDescriptionList()
20 if not arc.JobDescription_Parse(jobdescstring, jobdescs):
21 logger.msg(arc.ERROR,
"Invalid job description")
25 index = arc.Endpoint(
"ldap://index1.nordugrid.org:2135/Mds-Vo-name=NorduGrid,o=grid",
26 arc.Endpoint.REGISTRY,
27 "org.nordugrid.ldapegiis")
28 services = arc.EndpointList(1, index)
32 submitter = arc.Submitter(usercfg)
33 if submitter.BrokeredSubmit(services, jobdescs, jobs) != arc.SubmissionStatus.NONE:
34 logger.msg(arc.ERROR,
"Failed to submit job")
38 jobList = arc.JobInformationStorageXML(usercfg.JobListFile())
39 if not jobList.Write(jobs):
40 logger.msg(arc.WARNING,
"Failed to write to local job list %s", usercfg.JobListFile())
43 print "Job submitted with job id %s" % jobs.front().JobID
import nordugrid.arc.Logger;
import nordugrid.arc.LogStream_ostream;
import nordugrid.arc.UserConfig;
import nordugrid.arc.Endpoint;
import nordugrid.arc.EndpointList;
import nordugrid.arc.Job;
import nordugrid.arc.JobList;
import nordugrid.arc.JobDescription;
import nordugrid.arc.JobDescriptionList;
import nordugrid.arc.Submitter;
import nordugrid.arc.JobInformationStorageXML;
public class BasicJobSubmission
{
public static void main(String argv[])
{
LogStream_ostream logstdout = new LogStream_ostream(nordugrid.arc.arc.getStdout());
logstdout.setFormat(nordugrid.arc.LogFormat.ShortFormat);
Logger.getRootLogger().addDestination(logstdout);
Logger.getRootLogger().setThreshold(nordugrid.arc.LogLevel.VERBOSE);
Logger logger = new Logger(Logger.getRootLogger(), "jobsubmit");
UserConfig usercfg = new UserConfig("", "");
String jobdesc = "&(executable=/bin/hostname)(stdout=stdout)";
JobDescriptionList jobdescs = new JobDescriptionList();
if (!JobDescription.Parse(jobdesc, jobdescs).toBool()) {
logger.msg(nordugrid.arc.LogLevel.ERROR, "Invalid job description");
System.exit(1);
}
Endpoint index = new Endpoint("ldap://index1.nordugrid.org:2135/Mds-Vo-name=NorduGrid,o=grid",
Endpoint.CapabilityEnum.REGISTRY,
"org.nordugrid.ldapegiis");
EndpointList services = new EndpointList();
services.add(index);
JobList jobs = new JobList();
Submitter submitter = new Submitter(usercfg);
if (!submitter.BrokeredSubmit(services, jobdescs, jobs).equals(nordugrid.arc.SubmissionStatus.SubmissionStatusType.NONE)) {
logger.msg(nordugrid.arc.LogLevel.ERROR, "Failed to submit job");
System.exit(1);
}
JobInformationStorageXML jobList = new JobInformationStorageXML(usercfg.JobListFile());
if (!jobList.Write(jobs)) {
logger.msg(nordugrid.arc.LogLevel.WARNING, "Failed to write to local job list " + usercfg.JobListFile());
}
System.out.println("Job submitted with job id " + jobs.begin().next().getJobID());
return;
}
}