11 #ifndef WRENCH_PILOTJOBMANAGER_H
12 #define WRENCH_PILOTJOBMANAGER_H
17 #include "wrench/services/Service.h"
51 std::map<
WorkflowFile *, std::shared_ptr<FileLocation> > file_locations,
52 std::vector<std::tuple<
WorkflowFile *, std::shared_ptr<FileLocation> , std::shared_ptr<FileLocation> >> pre_file_copies,
53 std::vector<std::tuple<
WorkflowFile *, std::shared_ptr<FileLocation> , std::shared_ptr<FileLocation> >> post_file_copies,
54 std::vector<std::tuple<
WorkflowFile *, std::shared_ptr<FileLocation> >> cleanup_file_deletions);
59 std::shared_ptr<FileLocation> > file_locations);
63 std::shared_ptr<FileLocation> > file_locations);
67 void submitJob(std::shared_ptr<WorkflowJob> job, std::shared_ptr<ComputeService> compute_service, std::map<std::string, std::string> service_specific_args = {});
96 bool processNextMessage();
97 void processStandardJobCompletion(std::shared_ptr<StandardJob>job, std::shared_ptr<ComputeService> compute_service);
98 void processStandardJobFailure(std::shared_ptr<StandardJob>job, std::shared_ptr<ComputeService> compute_service, std::shared_ptr<FailureCause> cause);
99 void processPilotJobStart(std::shared_ptr<PilotJob>job, std::shared_ptr<ComputeService> compute_service);
100 void processPilotJobExpiration(std::shared_ptr<PilotJob>job, std::shared_ptr<ComputeService> compute_service);
105 std::shared_ptr<WMS> wms;
108 std::set<std::shared_ptr<StandardJob>> new_standard_jobs;
109 std::set<std::shared_ptr<StandardJob>> pending_standard_jobs;
110 std::set<std::shared_ptr<StandardJob>> running_standard_jobs;
111 std::set<std::shared_ptr<StandardJob>> completed_standard_jobs;
112 std::set<std::shared_ptr<StandardJob>> failed_standard_jobs;
114 std::set<std::shared_ptr<PilotJob>> new_pilot_jobs;
115 std::set<std::shared_ptr<PilotJob>> pending_pilot_jobs;
116 std::set<std::shared_ptr<PilotJob>> running_pilot_jobs;
117 std::set<std::shared_ptr<PilotJob>> completed_pilot_jobs;
127 #endif //WRENCH_PILOTJOBMANAGER_H