WRENCH  1.10
Cyberinfrastructure Simulation Workbench
Overview Installation Getting Started WRENCH 101 WRENCH 102
StandardJobScheduler.h
1 
10 #ifndef WRENCH_STANDARDJOBSCHEDULER_H
11 #define WRENCH_STANDARDJOBSCHEDULER_H
12 
13 
14 #include <set>
15 #include <vector>
16 #include <map>
17 
18 namespace wrench {
19 
20  class ComputeService;
21 
22  class DataMovementManager;
23 
24  class JobManager;
25 
26  class WorkflowTask;
27 
32 
33  public:
34 
39  this->data_movement_manager = nullptr;
40  this->job_manager = nullptr;
41  }
42  /***********************/
44  /***********************/
45  virtual ~StandardJobScheduler() = default;
46  /***********************/
48  /***********************/
49 
56  virtual void scheduleTasks(const std::set<std::shared_ptr<ComputeService>> &compute_services,
57  const std::vector<WorkflowTask *> &tasks) = 0;
58 
59  /***********************/
61  /***********************/
62 
67  std::shared_ptr<DataMovementManager> getDataMovementManager() {
68  return this->data_movement_manager;
69  }
70 
75  std::shared_ptr<JobManager> getJobManager() {
76  return this->job_manager;
77  }
78 
79  /***********************/
81  /***********************/
82 
83  /***********************/
85  /***********************/
86 
91  void setDataMovementManager(std::shared_ptr<DataMovementManager> data_movement_manager) {
92  this->data_movement_manager = data_movement_manager;
93  }
94 
99  void setJobManager(std::shared_ptr<JobManager> job_manager) {
100  this->job_manager = job_manager;
101  }
102 
103  /***********************/
105  /***********************/
106 
107  private:
108  std::shared_ptr<DataMovementManager> data_movement_manager;
109  std::shared_ptr<JobManager> job_manager;
110 
111  };
112 
113 };
114 
115 
116 #endif //WRENCH_STANDARDJOBSCHEDULER_H
wrench::StandardJobScheduler::getDataMovementManager
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
wrench::StandardJobScheduler::setDataMovementManager
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
wrench
Definition: Alarm.cpp:20
wrench::StandardJobScheduler::scheduleTasks
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...
wrench::StandardJobScheduler::StandardJobScheduler
StandardJobScheduler()
Constructor.
Definition: StandardJobScheduler.h:38
wrench::StandardJobScheduler
A (mostly virtual) base class for implementing StandardJob scheduling algorithms to be used by a WMS.
Definition: StandardJobScheduler.h:31
wrench::StandardJobScheduler::setJobManager
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
wrench::StandardJobScheduler::getJobManager
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