JobManager.h
52 std::set<std::tuple<WorkflowFile *, std::shared_ptr<FileLocation> , std::shared_ptr<FileLocation> >> pre_file_copies,
53 std::set<std::tuple<WorkflowFile *, std::shared_ptr<FileLocation> , std::shared_ptr<FileLocation> >> post_file_copies,
67 void submitJob(WorkflowJob *job, std::shared_ptr<ComputeService> compute_service, std::map<std::string, std::string> service_specific_args = {});
96 void processStandardJobCompletion(StandardJob *job, std::shared_ptr<ComputeService> compute_service);
97 void processStandardJobFailure(StandardJob *job, std::shared_ptr<ComputeService> compute_service, std::shared_ptr<FailureCause> cause);
A service that can be added to the simulation and that can be used by a WMS when executing a workflow...
Definition: Service.h:26
StandardJob * createStandardJob(std::vector< WorkflowTask *> tasks, std::map< WorkflowFile *, std::shared_ptr< FileLocation > > file_locations, std::set< std::tuple< WorkflowFile *, std::shared_ptr< FileLocation >, std::shared_ptr< FileLocation > >> pre_file_copies, std::set< std::tuple< WorkflowFile *, std::shared_ptr< FileLocation >, std::shared_ptr< FileLocation > >> post_file_copies, std::set< std::tuple< WorkflowFile *, std::shared_ptr< FileLocation > >> cleanup_file_deletions)
Create a standard job.
Definition: JobManager.cpp:94
Abstraction of a job used for executing tasks in a Workflow.
Definition: WorkflowJob.h:34
A data file used/produced by a WorkflowTask in a Workflow.
Definition: WorkflowFile.h:26
std::set< PilotJob * > getRunningPilotJobs()
Get the list of currently running pilot jobs.
Definition: JobManager.cpp:417
std::set< PilotJob * > getPendingPilotJobs()
Get the list of currently pending pilot jobs.
Definition: JobManager.cpp:425
A pilot (i.e., non-standard) workflow job that can be submitted to a ComputeService by a WMS (via a J...
Definition: PilotJob.h:29
A standard (i.e., non-pilot) workflow job that can be submitted to a ComputeService by a WMS (via a J...
Definition: StandardJob.h:38
PilotJob * createPilotJob()
Create a pilot job.
Definition: JobManager.cpp:228
JobManager(std::shared_ptr< WMS > wms)
Constructor.
Definition: JobManager.cpp:38
void terminateJob(WorkflowJob *)
Terminate a job (standard or pilot) that hasn't completed/expired/failed yet.
Definition: JobManager.cpp:358
void forgetJob(WorkflowJob *job)
Forget a job (to free memory, only once a job has completed or failed)
Definition: JobManager.cpp:437
void kill()
Kill the job manager (brutally terminate the daemon, clears all jobs)
Definition: JobManager.cpp:55
A helper daemon (co-located with and explicitly started by a WMS), which is used to handle all job ex...
Definition: JobManager.h:40
~JobManager() override
Destructor, which kills the daemon (and clears all the jobs)
Definition: JobManager.cpp:48
void submitJob(WorkflowJob *job, std::shared_ptr< ComputeService > compute_service, std::map< std::string, std::string > service_specific_args={})
Submit a job to compute service.
Definition: JobManager.cpp:258
Definition: Alarm.cpp:19