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/workflow/job/StandardJob.h>
16 #include <wrench-dev.h>
28 class JobManagerMessage :
public SimulationMessage {
30 explicit JobManagerMessage(std::string name);
36 class JobManagerStandardJobDoneMessage :
public JobManagerMessage {
38 JobManagerStandardJobDoneMessage(std::shared_ptr<StandardJob> job, std::shared_ptr<ComputeService> compute_service,
39 std::map<WorkflowTask *, WorkflowTask::State> necessary_state_changes);
43 std::shared_ptr<StandardJob> job;
45 std::shared_ptr<ComputeService> compute_service;
47 std::map<WorkflowTask *, WorkflowTask::State> necessary_state_changes;
53 class JobManagerStandardJobFailedMessage :
public JobManagerMessage {
55 JobManagerStandardJobFailedMessage(std::shared_ptr<StandardJob> job, std::shared_ptr<ComputeService> compute_service,
56 std::map<WorkflowTask *, WorkflowTask::State> necessary_state_changes,
57 std::set<WorkflowTask *> necessary_failure_count_increments,
58 std::shared_ptr<FailureCause> cause);
62 std::shared_ptr<StandardJob> job;
64 std::shared_ptr<ComputeService> compute_service;
66 std::map<WorkflowTask *, WorkflowTask::State> necessary_state_changes;
68 std::set<WorkflowTask *> necessary_failure_count_increments;
70 std::shared_ptr<FailureCause> cause;
79 #endif //WRENCH_JOBMANAGERMESSAGE_H