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 
43  /***********************/
45  /***********************/
46  virtual ~StandardJobScheduler() = default;
47  /***********************/
49  /***********************/
50 
57  virtual void scheduleTasks(const std::set<ComputeService *> &compute_services,
58  const std::vector<WorkflowTask *> &tasks) = 0;
59 
60  /***********************/
62  /***********************/
63 
68  DataMovementManager *getDataMovementManager() {
69  return this->data_movement_manager;
70  }
71 
76  JobManager *getJobManager() {
77  return this->job_manager;
78  }
79 
80  /***********************/
82  /***********************/
83 
84  /***********************/
86  /***********************/
87 
92  void setDataMovementManager(DataMovementManager *data_movement_manager) {
93  this->data_movement_manager = data_movement_manager;
94  }
95 
100  void setJobManager(JobManager *job_manager) {
101  this->job_manager = job_manager;
102  }
103 
104  /***********************/
106  /***********************/
107 
108  private:
109  DataMovementManager *data_movement_manager;
110  JobManager *job_manager;
111 
112  };
113 
114 };
115 
116 
117 #endif //WRENCH_STANDARDJOBSCHEDULER_H
A (mostly virtual) base class for implementing StandardJob scheduling algorithms to be used by a WMS...
Definition: StandardJobScheduler.h:31
virtual void scheduleTasks(const std::set< 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
Definition: TerminalOutput.cpp:15