WRENCH
1.11
Cyberinfrastructure Simulation Workbench
|
Overview | Installation | Getting Started | WRENCH 101 | WRENCH 102 |
A helper daemon (co-located with and explicitly started by an execution controller), which is used to handle all job executions. More...
#include <JobManager.h>
Public Member Functions | |
std::shared_ptr< CompoundJob > | createCompoundJob (std::string name) |
Create a Compound job. More... | |
std::shared_ptr< PilotJob > | createPilotJob () |
Create a pilot job. More... | |
std::shared_ptr< StandardJob > | createStandardJob (const std::shared_ptr< WorkflowTask > &task) |
Create a standard job. More... | |
std::shared_ptr< StandardJob > | createStandardJob (const std::shared_ptr< WorkflowTask > &task, const std::map< std::shared_ptr< DataFile >, std::shared_ptr< FileLocation >> &file_locations) |
Create a standard job. More... | |
std::shared_ptr< StandardJob > | createStandardJob (const std::shared_ptr< WorkflowTask > &task, std::map< std::shared_ptr< DataFile >, std::vector< std::shared_ptr< FileLocation >>> file_locations) |
Create a standard job. More... | |
std::shared_ptr< StandardJob > | createStandardJob (const std::vector< std::shared_ptr< WorkflowTask >> &tasks) |
Create a standard job. More... | |
std::shared_ptr< StandardJob > | createStandardJob (const std::vector< std::shared_ptr< WorkflowTask >> &tasks, const std::map< std::shared_ptr< DataFile >, std::shared_ptr< FileLocation > > &file_locations, std::vector< std::tuple< std::shared_ptr< DataFile >, std::shared_ptr< FileLocation >, std::shared_ptr< FileLocation > >> pre_file_copies, std::vector< std::tuple< std::shared_ptr< DataFile >, std::shared_ptr< FileLocation >, std::shared_ptr< FileLocation > >> post_file_copies, std::vector< std::tuple< std::shared_ptr< DataFile >, std::shared_ptr< FileLocation > >> cleanup_file_deletions) |
std::shared_ptr< StandardJob > | createStandardJob (const std::vector< std::shared_ptr< WorkflowTask >> &tasks, const std::map< std::shared_ptr< DataFile >, std::shared_ptr< FileLocation >> &file_locations) |
std::shared_ptr< StandardJob > | createStandardJob (const std::vector< std::shared_ptr< WorkflowTask >> &tasks, std::map< std::shared_ptr< DataFile >, std::vector< std::shared_ptr< FileLocation >>> file_locations) |
Create a standard job. More... | |
std::shared_ptr< StandardJob > | createStandardJob (const std::vector< std::shared_ptr< WorkflowTask >> &tasks, std::map< std::shared_ptr< DataFile >, std::vector< std::shared_ptr< FileLocation >>> file_locations, std::vector< std::tuple< std::shared_ptr< DataFile >, std::shared_ptr< FileLocation >, std::shared_ptr< FileLocation > >> pre_file_copies, std::vector< std::tuple< std::shared_ptr< DataFile >, std::shared_ptr< FileLocation >, std::shared_ptr< FileLocation > >> post_file_copies, std::vector< std::tuple< std::shared_ptr< DataFile >, std::shared_ptr< FileLocation > >> cleanup_file_deletions) |
Create a standard job. More... | |
simgrid::s4u::Mailbox * | getCreatorMailbox () |
Return the mailbox of the job manager's creator. More... | |
unsigned long | getNumRunningPilotJobs () const |
Get the list of currently running pilot jobs. More... | |
void | kill () |
Kill the job manager (brutally terminate the daemon, clears all jobs) | |
void | stop () override |
Stop the job manager. More... | |
void | submitJob (const std::shared_ptr< CompoundJob > &job, const std::shared_ptr< ComputeService > &compute_service, std::map< std::string, std::string > service_specific_args={}) |
Submit a compound job to a compute service. More... | |
void | submitJob (const std::shared_ptr< PilotJob > &job, const std::shared_ptr< ComputeService > &compute_service, std::map< std::string, std::string > service_specific_args={}) |
Submit a pilot job to a compute service. More... | |
void | submitJob (const std::shared_ptr< StandardJob > &job, const std::shared_ptr< ComputeService > &compute_service, std::map< std::string, std::string > service_specific_args={}) |
Submit a standard job to a compute service. More... | |
void | terminateJob (const std::shared_ptr< CompoundJob > &job) |
Terminate a compound job that hasn't completed/expired/failed yet. More... | |
void | terminateJob (const std::shared_ptr< PilotJob > &job) |
Terminate a pilot jobthat hasn't completed/expired/failed yet. More... | |
void | terminateJob (const std::shared_ptr< StandardJob > &job) |
Terminate a standard job that hasn't completed/expired/failed yet. More... | |
Public Member Functions inherited from wrench::Service | |
void | assertServiceIsUp () |
Throws an exception if the service is not up. More... | |
std::string | getHostname () |
Get the name of the host on which the service is / will be running. More... | |
double | getNetworkTimeoutValue () |
Returns the service's network timeout value. More... | |
std::string | getPhysicalHostname () |
Get the physical name of the host on which the service is / will be running. More... | |
bool | getPropertyValueAsBoolean (WRENCH_PROPERTY_TYPE) |
Get a property of the Service as a boolean. More... | |
double | getPropertyValueAsDouble (WRENCH_PROPERTY_TYPE) |
Get a property of the Service as a double. More... | |
std::string | getPropertyValueAsString (WRENCH_PROPERTY_TYPE) |
Get a property of the Service as a string. More... | |
unsigned long | getPropertyValueAsUnsignedLong (WRENCH_PROPERTY_TYPE) |
Get a property of the Service as an unsigned long. More... | |
bool | isUp () |
Returns true if the service is UP, false otherwise. More... | |
void | resume () |
Resume the service. More... | |
void | setNetworkTimeoutValue (double value) |
Sets the service's network timeout value. More... | |
void | start (std::shared_ptr< Service > this_service, bool daemonize, bool auto_restart) |
Start the service. More... | |
void | suspend () |
Suspend the service. | |
A helper daemon (co-located with and explicitly started by an execution controller), which is used to handle all job executions.
std::shared_ptr< CompoundJob > wrench::JobManager::createCompoundJob | ( | std::string | name | ) |
Create a Compound job.
name | the job's name (if empty, a unique job name will be picked for you) |
std::shared_ptr< PilotJob > wrench::JobManager::createPilotJob | ( | ) |
Create a pilot job.
std::invalid_argument |
std::shared_ptr< StandardJob > wrench::JobManager::createStandardJob | ( | const std::shared_ptr< WorkflowTask > & | task | ) |
Create a standard job.
task | a task (which must be ready) |
std::invalid_argument |
std::shared_ptr< StandardJob > wrench::JobManager::createStandardJob | ( | const std::shared_ptr< WorkflowTask > & | task, |
const std::map< std::shared_ptr< DataFile >, std::shared_ptr< FileLocation >> & | file_locations | ||
) |
Create a standard job.
task | a task (which must be ready) |
file_locations | a map that specifies locations where input/output files should be read/written. When unspecified, it is assumed that the ComputeService's scratch storage space will be used. |
std::invalid_argument |
std::shared_ptr< StandardJob > wrench::JobManager::createStandardJob | ( | const std::shared_ptr< WorkflowTask > & | task, |
std::map< std::shared_ptr< DataFile >, std::vector< std::shared_ptr< FileLocation >>> | file_locations | ||
) |
Create a standard job.
task | a task (which must be ready) |
file_locations | a map that specifies, for each file, a list of locations, in preference order, where input/output files should be read/written. When unspecified, it is assumed that the ComputeService's scratch storage space will be used. |
std::invalid_argument |
std::shared_ptr< StandardJob > wrench::JobManager::createStandardJob | ( | const std::vector< std::shared_ptr< WorkflowTask >> & | tasks | ) |
Create a standard job.
tasks | a list of tasks (which must be either READY, or children of COMPLETED tasks or of tasks also included in the list) |
std::invalid_argument |
std::shared_ptr< StandardJob > wrench::JobManager::createStandardJob | ( | const std::vector< std::shared_ptr< WorkflowTask >> & | tasks, |
std::map< std::shared_ptr< DataFile >, std::vector< std::shared_ptr< FileLocation >>> | file_locations | ||
) |
Create a standard job.
tasks | a list of tasks (which must be either READY, or children of COMPLETED tasks or of tasks also included in the list) |
file_locations | a map that specifies, for each file, a list of locations, in preference order, where input/output files should be read/written. When unspecified, it is assumed that the ComputeService's scratch storage space will be used. |
std::invalid_argument |
std::shared_ptr< StandardJob > wrench::JobManager::createStandardJob | ( | const std::vector< std::shared_ptr< WorkflowTask >> & | tasks, |
std::map< std::shared_ptr< DataFile >, std::vector< std::shared_ptr< FileLocation >>> | file_locations, | ||
std::vector< std::tuple< std::shared_ptr< DataFile >, std::shared_ptr< FileLocation >, std::shared_ptr< FileLocation > >> | pre_file_copies, | ||
std::vector< std::tuple< std::shared_ptr< DataFile >, std::shared_ptr< FileLocation >, std::shared_ptr< FileLocation > >> | post_file_copies, | ||
std::vector< std::tuple< std::shared_ptr< DataFile >, std::shared_ptr< FileLocation > >> | cleanup_file_deletions | ||
) |
Create a standard job.
tasks | a list of tasks (which must be either READY, or children of COMPLETED tasks or of tasks also included in the standard job) |
file_locations | a map that specifies, for each file, a list of locations, in preference order, where input/output files should be read/written. When unspecified, it is assumed that the ComputeService's scratch storage space will be used. |
pre_file_copies | a vector of tuples that specify which file copy operations should be completed before task executions begin. The ComputeService::SCRATCH constant can be used to mean "the scratch storage space of the ComputeService". |
post_file_copies | a vector of tuples that specify which file copy operations should be completed after task executions end. The ComputeService::SCRATCH constant can be used to mean "the scratch storage space of the ComputeService". |
cleanup_file_deletions | a vector of file tuples that specify file deletion operations that should be completed at the end of the job. The ComputeService::SCRATCH constant can be used to mean "the scratch storage space of the ComputeService". |
std::invalid_argument |
simgrid::s4u::Mailbox * wrench::JobManager::getCreatorMailbox | ( | ) |
Return the mailbox of the job manager's creator.
unsigned long wrench::JobManager::getNumRunningPilotJobs | ( | ) | const |
Get the list of currently running pilot jobs.
|
overridevirtual |
Stop the job manager.
ExecutionException | |
std::runtime_error |
Reimplemented from wrench::Service.
void wrench::JobManager::submitJob | ( | const std::shared_ptr< CompoundJob > & | job, |
const std::shared_ptr< ComputeService > & | compute_service, | ||
std::map< std::string, std::string > | service_specific_args = {} |
||
) |
Submit a compound job to a compute service.
job | a compound job |
compute_service | a compute service |
service_specific_args | arguments specific for compute services:
|
std::invalid_argument | |
ExecutionException |
void wrench::JobManager::submitJob | ( | const std::shared_ptr< PilotJob > & | job, |
const std::shared_ptr< ComputeService > & | compute_service, | ||
std::map< std::string, std::string > | service_specific_args = {} |
||
) |
Submit a pilot job to a compute service.
job | a pilot job |
compute_service | a compute service |
service_specific_args | arguments specific for compute services:
|
std::invalid_argument | |
ExecutionException |
void wrench::JobManager::submitJob | ( | const std::shared_ptr< StandardJob > & | job, |
const std::shared_ptr< ComputeService > & | compute_service, | ||
std::map< std::string, std::string > | service_specific_args = {} |
||
) |
Submit a standard job to a compute service.
job | a standard job |
compute_service | a compute service |
service_specific_args | arguments specific for compute services:
|
std::invalid_argument | |
ExecutionException |
void wrench::JobManager::terminateJob | ( | const std::shared_ptr< CompoundJob > & | job | ) |
Terminate a compound job that hasn't completed/expired/failed yet.
job | the job to be terminated |
ExecutionException | |
std::invalid_argument | |
std::runtime_error |
void wrench::JobManager::terminateJob | ( | const std::shared_ptr< PilotJob > & | job | ) |
Terminate a pilot jobthat hasn't completed/expired/failed yet.
job | the job to be terminated |
ExecutionException | |
std::invalid_argument | |
std::runtime_error |
void wrench::JobManager::terminateJob | ( | const std::shared_ptr< StandardJob > & | job | ) |
Terminate a standard job that hasn't completed/expired/failed yet.
job | the job to be terminated |
ExecutionException | |
std::invalid_argument | |
std::runtime_error |