Workunit.h
41 std::set<std::tuple<WorkflowFile *, std::shared_ptr<FileLocation>, std::shared_ptr<FileLocation>>> pre_file_copies,
44 std::set<std::tuple<WorkflowFile *, std::shared_ptr<FileLocation>, std::shared_ptr<FileLocation>>> post_file_copies,
62 std::set<std::tuple<WorkflowFile *, std::shared_ptr<FileLocation>, std::shared_ptr<FileLocation>>> pre_file_copies;
68 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 >, std::shared_ptr< FileLocation > > > pre_file_copies
File copies to perform before computational tasks begin.
Definition: Workunit.h:62
std::set< std::tuple< WorkflowFile *, std::shared_ptr< FileLocation > > > cleanup_file_deletions
File deletions to perform last.
Definition: Workunit.h:70
Workunit(StandardJob *job, std::set< std::tuple< WorkflowFile *, std::shared_ptr< FileLocation >, std::shared_ptr< FileLocation >>> pre_file_copies, WorkflowTask *task, std::map< WorkflowFile *, std::shared_ptr< FileLocation >> file_locations, 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)
Constructor.
Definition: Workunit.cpp:31
A data file used/produced by a WorkflowTask in a Workflow.
Definition: WorkflowFile.h:26
StandardJob * getJob()
Retrieve the standard job this workunit belongs to.
Definition: Workunit.cpp:229
A class to describe a unit of work that's a sub-component of a StandardJob.
Definition: Workunit.h:35
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
std::set< std::tuple< WorkflowFile *, std::shared_ptr< FileLocation >, std::shared_ptr< FileLocation > > > post_file_copies
File copies to perform after computational tasks completes.
Definition: Workunit.h:68
static std::set< std::shared_ptr< Workunit > > createWorkunits(StandardJob *job)
Create all work units for a newly dispatched job.
Definition: Workunit.cpp:117
unsigned long num_pending_parents
The number of Workunits this Workunit depends on.
Definition: Workunit.h:59
std::map< WorkflowFile *, std::shared_ptr< FileLocation > > file_locations
Locations where computational tasks should read/write files.
Definition: Workunit.h:66
static void addDependency(std::shared_ptr< Workunit > parent, std::shared_ptr< Workunit > child)
Add a dependency between two work units (does nothing if the dependency already exists) ...
Definition: Workunit.cpp:94
StandardJob * job
The StandardJob this Workunit belongs to.
Definition: Workunit.h:54
Definition: Alarm.cpp:19
std::set< std::shared_ptr< Workunit > > children
The Workunits that depend on this Workunit.
Definition: Workunit.h:57