10 #ifndef WRENCH_JOBMANAGERMESSAGE_H
11 #define WRENCH_JOBMANAGERMESSAGE_H
13 #include "wrench/simulation/SimulationMessage.h"
14 #include "wrench/services/compute/ComputeService.h"
15 #include "wrench/job/StandardJob.h"
16 #include "wrench-dev.h"
28 class JobManagerMessage :
public SimulationMessage {
30 explicit JobManagerMessage();
36 class JobManagerWakeupMessage :
public JobManagerMessage {
38 JobManagerWakeupMessage();
44 class JobManagerCompoundJobCompletedMessage :
public JobManagerMessage {
46 JobManagerCompoundJobCompletedMessage(std::shared_ptr<CompoundJob> job, std::shared_ptr<ComputeService> compute_service);
49 std::shared_ptr<CompoundJob> job;
51 std::shared_ptr<ComputeService> compute_service;
57 class JobManagerCompoundJobFailedMessage :
public JobManagerMessage {
59 JobManagerCompoundJobFailedMessage(std::shared_ptr<CompoundJob> job,
60 std::shared_ptr<ComputeService> compute_service,
61 std::shared_ptr<FailureCause> cause);
65 std::shared_ptr<CompoundJob> job;
67 std::shared_ptr<ComputeService> compute_service;
69 std::shared_ptr<FailureCause> cause;
76 class JobManagerStandardJobCompletedMessage :
public JobManagerMessage {
78 JobManagerStandardJobCompletedMessage(std::shared_ptr<StandardJob> job, std::shared_ptr<ComputeService> compute_service,
83 std::shared_ptr<StandardJob> job;
85 std::shared_ptr<ComputeService> compute_service;
93 class JobManagerStandardJobFailedMessage :
public JobManagerMessage {
95 JobManagerStandardJobFailedMessage(std::shared_ptr<StandardJob> job, std::shared_ptr<ComputeService> compute_service,
97 std::set<std::shared_ptr<WorkflowTask>> necessary_failure_count_increments,
98 std::shared_ptr<FailureCause> cause);
102 std::shared_ptr<StandardJob> job;
104 std::shared_ptr<ComputeService> compute_service;
108 std::set<std::shared_ptr<WorkflowTask>> necessary_failure_count_increments;
110 std::shared_ptr<FailureCause> cause;
116 class JobManagerPilotJobFailedMessage :
public JobManagerMessage {
118 JobManagerPilotJobFailedMessage(std::shared_ptr<PilotJob> job,
119 std::shared_ptr<ComputeService> compute_service,
120 std::shared_ptr<FailureCause> cause);
124 std::shared_ptr<PilotJob> job;
126 std::shared_ptr<ComputeService> compute_service;
128 std::shared_ptr<FailureCause> cause;
137 #endif //WRENCH_JOBMANAGERMESSAGE_H