10 #ifndef WRENCH_STANDARDJOBSCHEDULER_H
11 #define WRENCH_STANDARDJOBSCHEDULER_H
22 class DataMovementManager;
39 this->data_movement_manager =
nullptr;
40 this->job_manager =
nullptr;
56 virtual void scheduleTasks(
const std::set<std::shared_ptr<ComputeService>> &compute_services,
57 const std::vector<WorkflowTask *> &tasks) = 0;
68 return this->data_movement_manager;
76 return this->job_manager;
92 this->data_movement_manager = data_movement_manager;
100 this->job_manager = job_manager;
108 std::shared_ptr<DataMovementManager> data_movement_manager;
109 std::shared_ptr<JobManager> job_manager;
116 #endif //WRENCH_STANDARDJOBSCHEDULER_H
std::shared_ptr< DataMovementManager > getDataMovementManager()
Get a reference to the data movement manager to be used by this scheduler (nullptr: none is used)
Definition: StandardJobScheduler.h:67
void setDataMovementManager(std::shared_ptr< DataMovementManager > data_movement_manager)
Set a reference to the data manager to be used by this scheduler (nullptr: none is used)
Definition: StandardJobScheduler.h:91
virtual void scheduleTasks(const std::set< std::shared_ptr< ComputeService >> &compute_services, const std::vector< WorkflowTask * > &tasks)=0
A method that schedules tasks (as part of standard jobs), according to whatever decision algorithm it...
StandardJobScheduler()
Constructor.
Definition: StandardJobScheduler.h:38
A (mostly virtual) base class for implementing StandardJob scheduling algorithms to be used by a WMS.
Definition: StandardJobScheduler.h:31
void setJobManager(std::shared_ptr< JobManager > job_manager)
Set a reference to the job manager to be used by this scheduler (nullptr: none is used)
Definition: StandardJobScheduler.h:99
std::shared_ptr< JobManager > getJobManager()
Get a reference to the job manager to be used by this scheduler (nullptr: none is used)
Definition: StandardJobScheduler.h:75