10 #ifndef WRENCH_BATCHSCHEDULER_H
11 #define WRENCH_BATCHSCHEDULER_H
14 #include "wrench/services/compute/batch/BatchJob.h"
22 class BatchComputeService;
49 virtual void init() = 0;
107 virtual std::map<std::string, double>
getStartTimeEstimates(std::set<std::tuple<std::string, unsigned long, unsigned long, double>> set_of_jobs) = 0;
123 #endif //WRENCH_BATCHSCHEDULER_H
virtual void processJobFailure(std::shared_ptr< BatchJob > batch_job)=0
Method to process a job failure.
virtual void processJobCompletion(std::shared_ptr< BatchJob > batch_job)=0
Method to process a job completion.
BatchComputeService * cs
Compute service for which this scheduler is operating.
Definition: BatchScheduler.h:113
virtual void processQueuedJobs()=0
Method to process queued jobs.
virtual void processJobTermination(std::shared_ptr< BatchJob > batch_job)=0
Method to process a job termination.
A batch-scheduled compute service that manages a set of compute hosts and controls access to their re...
Definition: BatchComputeService.h:49
An abstract class that defines a batch scheduler.
Definition: BatchScheduler.h:27
virtual std::map< std::string, double > getStartTimeEstimates(std::set< std::tuple< std::string, unsigned long, unsigned long, double >> set_of_jobs)=0
Method to get start time estimates.
virtual void shutdown()=0
Shutdown method.
virtual ~BatchScheduler()=default
Destructor.
virtual void init()=0
Initialization method.
BatchScheduler(BatchComputeService *cs)
Constructor.
Definition: BatchScheduler.h:40
virtual void processJobSubmission(std::shared_ptr< BatchJob > batch_job)=0
Method to process a job submission.
virtual void processUnknownJobTermination(std::string job_id)=0
Method to process a job termination when the job is already forgotten (useful for batsched)
virtual void launch()=0
Launch method.