WRENCH  1.11
Cyberinfrastructure Simulation Workbench
Overview Installation Getting Started WRENCH 101 WRENCH 102
BatchScheduler.h
1 
10 #ifndef WRENCH_BATCHSCHEDULER_H
11 #define WRENCH_BATCHSCHEDULER_H
12 
13 #include <deque>
14 #include "wrench/services/compute/batch/BatchJob.h"
15 
16 namespace wrench {
17 
18 /***********************/
20 /***********************/
21 
22  class BatchComputeService;
23 
27  class BatchScheduler {
28 
29  public:
30 
34  virtual ~BatchScheduler() = default;
35 
40  explicit BatchScheduler(BatchComputeService *cs) : cs(cs) {};
41 
49  virtual void init() = 0;
50 
54  virtual void launch() = 0;
55 
59  virtual void shutdown() = 0;
60 
64  virtual void processQueuedJobs() = 0;
65 
71  virtual void processJobSubmission(std::shared_ptr<BatchJob> batch_job) = 0;
72 
78  virtual void processJobFailure(std::shared_ptr<BatchJob> batch_job) = 0;
79 
85  virtual void processJobCompletion(std::shared_ptr<BatchJob> batch_job) = 0;
86 
92  virtual void processJobTermination(std::shared_ptr<BatchJob> batch_job) = 0;
93 
99  virtual void processUnknownJobTermination(std::string job_id) = 0;
100 
107  virtual std::map<std::string, double> getStartTimeEstimates(std::set<std::tuple<std::string, unsigned long, unsigned long, double>> set_of_jobs) = 0;
108 
109  protected:
113  BatchComputeService *cs;
114 
115  };
116 
117 /***********************/
119 /***********************/
120 }
121 
122 
123 #endif //WRENCH_BATCHSCHEDULER_H
wrench
Definition: Action.cpp:28
wrench::processUnknownJobTermination
void processUnknownJobTermination(std::string job_id)
No-op method.
Definition: FCFSBatchScheduler.cpp:411