3 #ifndef __ARC_JOBSUPERVISOR_H__ 4 #define __ARC_JOBSUPERVISOR_H__ 10 #include <arc/compute/JobControllerPlugin.h> 11 #include <arc/compute/EntityRetriever.h> 37 virtual bool Select(
const Job& job)
const = 0;
134 bool Retrieve(
const std::string& downloaddirprefix,
bool usejobname,
bool force, std::list<std::string>& downloaddirectories);
259 bool Resubmit(
int destination,
const std::list<Endpoint>& services, std::list<Job>& resubmittedJobs,
const std::list<std::string>& rejectedURLs = std::list<std::string>());
314 bool Migrate(
bool forcemigration,
const std::list<Endpoint>& services, std::list<Job>& migratedJobs,
const std::list<std::string>& rejectedURLs = std::list<std::string>());
361 const std::list<Job>& GetAllJobs()
const {
return jobs; }
362 std::list<Job> GetSelectedJobs()
const;
365 void SelectByStatus(
const std::list<std::string>& status);
366 void SelectByID(
const std::list<std::string>& ids);
376 void Select(
const JobSelector& js);
378 void ClearSelection();
380 const std::list<std::string>& GetIDsProcessed()
const {
return processed; }
381 const std::list<std::string>& GetIDsNotProcessed()
const {
return notprocessed; }
384 const UserConfig& usercfg;
388 typedef std::map<JobControllerPlugin*, std::pair< std::list<Job*>, std::list<Job*> > > JobSelectionMap;
389 JobSelectionMap jcJobMap;
390 std::map<std::string, JobControllerPlugin*> loadedJCs;
392 std::list<std::string> processed, notprocessed;
394 JobControllerPluginLoader loader;
396 static Logger logger;
401 #endif // __ARC_JOBSUPERVISOR_H__ Arc namespace contains all core ARC classes.
Definition: ArcConfig.h:11
User configuration class
Definition: UserConfig.h:196
JobSupervisor(const UserConfig &usercfg, const std::list< Job > &jobs=std::list< Job >())
Create a JobSupervisor.
void Select(const JobSelector &js)
Select jobs based on custom selector.
bool AddJob(const Job &job)
Add job.
Job.
Definition: Job.h:33
bool Migrate(bool forcemigration, const std::list< Endpoint > &services, std::list< Job > &migratedJobs, const std::list< std::string > &rejectedURLs=std::list< std::string >())
Migrate jobs.
JobSupervisor class.
Definition: JobSupervisor.h:48
bool Cancel()
Cancel jobs.
Abstract class used for selecting jobs with JobSupervisor.
Definition: JobSupervisor.h:24
void addEntity(const Job &job)
Send an entity to this consumer.
Definition: JobSupervisor.h:92
bool Resubmit(int destination, const std::list< Endpoint > &services, std::list< Job > &resubmittedJobs, const std::list< std::string > &rejectedURLs=std::list< std::string >())
Resubmit jobs.
bool Retrieve(const std::string &downloaddirprefix, bool usejobname, bool force, std::list< std::string > &downloaddirectories)
Retrieve job output files.
virtual bool Select(const Job &job) const =0
Indicate whether a job should be selected or not.
bool Renew()
Renew job credentials.
void Update()
Update job information.
bool Resume()
Resume jobs by status.
A general concept of an object which can consume entities use by the retrievers to return results...
Definition: EntityRetriever.h:34