3 #ifndef __ARC_SUBMITTER_H__
4 #define __ARC_SUBMITTER_H__
6 #include <arc/UserConfig.h>
8 #include <arc/compute/Endpoint.h>
9 #include <arc/compute/EndpointQueryingStatus.h>
10 #include <arc/compute/JobDescription.h>
11 #include <arc/compute/Job.h>
12 #include <arc/compute/SubmitterPlugin.h>
13 #include <arc/compute/ExecutionTarget.h>
14 #include <arc/compute/EntityRetriever.h>
118 bool operator!()
const {
return status != SUCCESSFUL; };
120 operator bool()
const {
return status == SUCCESSFUL; };
138 std::string
str()
const {
return str(status); };
142 std::string description;
145 class SubmissionStatus;
337 SubmissionStatus Submit(
const std::list<Endpoint>& endpoint,
const std::list<JobDescription>& descs, std::list<Job>& jobs);
457 SubmissionStatus BrokeredSubmit(
const std::list<std::string>& endpoints,
const std::list<JobDescription>& descs,
const std::list<std::string>& requestedSubmissionInterfaces = std::list<std::string>());
480 SubmissionStatus BrokeredSubmit(
const std::list<std::string>& endpoints,
const std::list<JobDescription>& descs, std::list<Job>& jobs,
const std::list<std::string>& requestedSubmissionInterfaces = std::list<std::string>());
502 SubmissionStatus BrokeredSubmit(
const std::list<Endpoint>& endpoints,
const std::list<JobDescription>& descs,
const std::list<std::string>& requestedSubmissionInterfaces = std::list<std::string>());
527 SubmissionStatus BrokeredSubmit(
const std::list<Endpoint>& endpoints,
const std::list<JobDescription>& descs, std::list<Job>& jobs,
const std::list<std::string>& requestedSubmissionInterfaces = std::list<std::string>());
584 void ClearAll() { notsubmitted.clear(); queryingStatusMap.clear(); submissionStatusMap.clear(); }
591 void addEntity(
const Job& j) {
592 for (std::list<EntityConsumer<Job>*>::iterator it = s.consumers.begin(); it != s.consumers.end(); ++it) {
600 SubmissionStatus SubmitNoClear(
const Endpoint& endpoint,
const std::list<JobDescription>& descs);
602 const UserConfig& uc;
604 EndpointStatusMap queryingStatusMap;
605 std::map<Endpoint, EndpointSubmissionStatus> submissionStatusMap;
607 std::list<const JobDescription*> notsubmitted;
609 std::list<EntityConsumer<Job>*> consumers;
611 static SubmitterPluginLoader& getLoader();
613 static Logger logger;
617 #endif // __ARC_SUBMITTER_H__