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> 112 bool operator!()
const {
return status != SUCCESSFUL; };
114 operator bool()
const {
return status == SUCCESSFUL; };
132 std::string
str()
const {
return str(status); };
136 std::string description;
139 class SubmissionStatus;
328 SubmissionStatus Submit(
const std::list<Endpoint>& endpoint,
const std::list<JobDescription>& descs, std::list<Job>& jobs);
448 SubmissionStatus BrokeredSubmit(
const std::list<std::string>& endpoints,
const std::list<JobDescription>& descs,
const std::list<std::string>& requestedSubmissionInterfaces = std::list<std::string>());
471 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>());
493 SubmissionStatus BrokeredSubmit(
const std::list<Endpoint>& endpoints,
const std::list<JobDescription>& descs,
const std::list<std::string>& requestedSubmissionInterfaces = std::list<std::string>());
518 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>());
575 void ClearAll() { notsubmitted.clear(); queryingStatusMap.clear(); submissionStatusMap.clear(); }
582 void addEntity(
const Job& j) {
583 for (std::list<EntityConsumer<Job>*>::iterator it = s.consumers.begin(); it != s.consumers.end(); ++it) {
591 SubmissionStatus SubmitNoClear(
const Endpoint& endpoint,
const std::list<JobDescription>& descs);
593 const UserConfig& uc;
595 EndpointStatusMap queryingStatusMap;
596 std::map<Endpoint, EndpointSubmissionStatus> submissionStatusMap;
598 std::list<const JobDescription*> notsubmitted;
600 std::list<EntityConsumer<Job>*> consumers;
602 static SubmitterPluginLoader& getLoader();
604 static Logger logger;
608 #endif // __ARC_SUBMITTER_H__ Arc namespace contains all core ARC classes.
Definition: ArcConfig.h:11
Submitter(const UserConfig &uc)
Create a Submitter object.
Definition: Submitter.h:217
User configuration class
Definition: UserConfig.h:196
void ClearAllStatuses()
Clear all status maps.
Definition: Submitter.h:566
const std::map< Endpoint, EndpointSubmissionStatus > & GetEndpointSubmissionStatuses() const
Get submission status map.
Definition: Submitter.h:553
EndpointSubmissionStatusType getStatus() const
Definition: Submitter.h:126
SubmissionStatus BrokeredSubmit(const std::list< std::string > &endpoints, const std::list< JobDescription > &descs, const std::list< std::string > &requestedSubmissionInterfaces=std::list< std::string >())
Submit jobs to matching and ranked computing services.
void ClearEndpointQueryingStatuses()
Clear endpoint status querying map.
Definition: Submitter.h:544
const std::list< const JobDescription * > & GetDescriptionsNotSubmitted() const
Get job descriptions not submitted.
Definition: Submitter.h:528
const std::string & getDescription() const
Definition: Submitter.h:128
Job.
Definition: Job.h:33
Class for submitting jobs.
Definition: Submitter.h:208
Definition: SubmissionStatus.h:12
Definition: JobDescription.h:842
Represents an endpoint of a service with a given interface type and capabilities. ...
Definition: Endpoint.h:68
Definition: Submitter.h:86
bool operator!=(const EndpointSubmissionStatus &s) const
Definition: Submitter.h:110
bool operator!=(EndpointSubmissionStatusType s) const
Definition: Submitter.h:108
EndpointSubmissionStatus & operator=(const EndpointSubmissionStatus &s)
Definition: Submitter.h:123
void removeConsumer(EntityConsumer< Job > &removeConsumer_consumer)
Remove a previous added consumer object.
EndpointSubmissionStatus(EndpointSubmissionStatusType status=UNKNOWN, const std::string &description="")
Definition: Submitter.h:99
void ClearNotSubmittedDescriptions()
Clear list of not submitted job descriptions.
Definition: Submitter.h:530
EndpointSubmissionStatusType
Definition: Submitter.h:89
SubmissionStatus Submit(const ExecutionTarget &et, const JobDescription &desc)
Submit job to ExecutionTarget (computing service)
Definition: Submitter.h:355
SubmissionStatus Submit(const Endpoint &endpoint, const JobDescription &desc)
Submit job to endpoint.
Definition: Submitter.h:265
void ClearEndpointSubmissionStatuses()
Clear submission status map.
Definition: Submitter.h:558
void ClearAll()
Clear all.
Definition: Submitter.h:575
bool operator!() const
Definition: Submitter.h:112
ExecutionTarget.
Definition: ExecutionTarget.h:494
bool operator==(const EndpointSubmissionStatus &s) const
Definition: Submitter.h:106
void addConsumer(EntityConsumer< Job > &addConsumer_consumer)
Add a Job consumer.
Definition: Submitter.h:229
EndpointSubmissionStatus & operator=(EndpointSubmissionStatusType s)
Definition: Submitter.h:119
Status map for Endpoint objects.
Definition: Endpoint.h:38
bool operator==(EndpointSubmissionStatusType s) const
Definition: Submitter.h:102
const EndpointStatusMap & GetEndpointQueryingStatuses() const
Get status map for queried endpoints.
Definition: Submitter.h:539
std::string str() const
Definition: Submitter.h:132