10 #ifndef WRENCH_BATSCHEDBATCHSCHEDULER_H
11 #define WRENCH_BATSCHEDBATCHSCHEDULER_H
13 #include "wrench/services/compute/batch/batch_schedulers/BatchScheduler.h"
24 class BatschedBatchScheduler :
public BatchScheduler {
32 explicit BatschedBatchScheduler(BatchComputeService *cs) : BatchScheduler(cs) {}
42 void launch()
override;
47 void shutdown()
override;
52 void processQueuedJobs()
override;
58 void processJobSubmission(std::shared_ptr<BatchJob> batch_job)
override;
64 void processJobFailure(std::shared_ptr<BatchJob> batch_job)
override;
70 void processJobCompletion(std::shared_ptr<BatchJob> batch_job)
override;
76 void processJobTermination(std::shared_ptr<BatchJob> batch_job)
override;
92 std::map<std::string, double> getStartTimeEstimates(std::set<std::tuple<std::string, unsigned long, unsigned long, double>> set_of_jobs)
override;
95 #ifdef ENABLE_BATSCHED
97 void notifyJobEventsToBatSched(std::string job_id, std::string status, std::string job_state,
98 std::string kill_reason, std::string event_type);
100 void appendJobInfoToCSVOutputFile(BatchJob *batch_job, std::string status);
102 void startBatschedNetworkListener();
107 unsigned long batsched_port;
121 #endif //WRENCH_BATSCHEDBATCHSCHEDULER_H