Rosetta  2021.16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Private Types | Private Attributes | List of all members
protocols::jd3::JobTracker Class Reference

A simple class for tracking job progress within JD3. More...

#include <JobTracker.hh>

Inheritance diagram for protocols::jd3::JobTracker:
Inheritance graph
[legend]

Public Member Functions

 JobTracker ()
 
JobTrackerOP clone () const
 
void track_completed_job (JQKey key, LarvalJob const &larval_job, JobStatus status)
 Note the completed job by Job Dag node and by Status. Only the JobQueen is allowed to call this method. More...
 
void track_starting_job_list (JQKey key, LarvalJobs const &starting_jobs)
 
void increment_current_job_index ()
 Increment the current job index tracked by the JobTracker. More...
 
numeric::DiscreteIntervalEncodingTree
< core::Size > const & 
started_jobs () const
 Read access for jobs have been given out to the JD through determine_job_list. More...
 
numeric::DiscreteIntervalEncodingTree
< core::Size > const & 
started_jobs_for_node (core::Size job_dag_node) const
 Read access to all job indexes started for a particular job node. More...
 
core::Size last_job_for_input_source_id (core::Size input_pose_index) const
 Last job index of a particular pose id from all starting jobs. More...
 
std::map< core::Size,
core::Size > const & 
last_jobs_for_inputs_sources () const
 Get the map of last job indexes and input source ids. More...
 
numeric::DiscreteIntervalEncodingTree
< core::Size > const & 
completed_jobs () const
 Read access for which jobs have completed and how; if a job-id is a member of this DIET, then it has completed (either in success or failure). More...
 
numeric::DiscreteIntervalEncodingTree
< core::Size > const & 
completed_jobs_for_node (core::Size job_dag_node) const
 
numeric::DiscreteIntervalEncodingTree
< core::Size > const & 
successful_jobs () const
 Read access for which jobs have completed and how; if a job-id is a member of this DIET, then it completed successfully. More...
 
numeric::DiscreteIntervalEncodingTree
< core::Size > const & 
failed_jobs () const
 Read access for which jobs have completed and how; if a job-id is a member of this DIET, then it completed unsuccessfully. More...
 
core::Size current_job_index () const
 Read access for which jobs have completed and how; if a job-id is a member of this DIET, then the job has had all of its results output or discarded. More...
 

Private Types

typedef
numeric::DiscreteIntervalEncodingTree
< core::Size
SizeDIET
 

Private Attributes

std::unordered_map< core::Size,
SizeDIET
completed_jobs_by_dag_node_
 
std::unordered_map< core::Size,
SizeDIET
started_jobs_by_dag_node_
 
SizeDIET completed_jobs_
 
SizeDIET started_jobs_
 
SizeDIET successful_jobs_
 
SizeDIET failed_jobs_
 
SizeDIET previously_completed_jobs_
 
std::map< core::Size, core::Sizelast_job_for_input_source_
 
core::Size current_global_job_index_ = 0
 

Detailed Description

A simple class for tracking job progress within JD3.

Member Typedef Documentation

typedef numeric::DiscreteIntervalEncodingTree< core::Size > protocols::jd3::JobTracker::SizeDIET
private

Constructor & Destructor Documentation

protocols::jd3::JobTracker::JobTracker ( )

Member Function Documentation

JobTrackerOP protocols::jd3::JobTracker::clone ( ) const
numeric::DiscreteIntervalEncodingTree< core::Size > const & protocols::jd3::JobTracker::completed_jobs ( ) const

Read access for which jobs have completed and how; if a job-id is a member of this DIET, then it has completed (either in success or failure).

References completed_jobs_.

numeric::DiscreteIntervalEncodingTree< core::Size > const & protocols::jd3::JobTracker::completed_jobs_for_node ( core::Size  job_dag_node) const
core::Size protocols::jd3::JobTracker::current_job_index ( ) const

Read access for which jobs have completed and how; if a job-id is a member of this DIET, then the job has had all of its results output or discarded.

Get read access to the current job index.

Get the current larval job index

References current_global_job_index_.

numeric::DiscreteIntervalEncodingTree< core::Size > const & protocols::jd3::JobTracker::failed_jobs ( ) const

Read access for which jobs have completed and how; if a job-id is a member of this DIET, then it completed unsuccessfully.

References failed_jobs_.

void protocols::jd3::JobTracker::increment_current_job_index ( )

Increment the current job index tracked by the JobTracker.

Used to set the job_index for LarvalJobs during determine_job_list

References current_global_job_index_.

Referenced by protocols::multistage_rosetta_scripts::MRSJobQueen::determine_job_list(), and protocols::jd3::standard::StandardJobQueen::expand_job_list().

core::Size protocols::jd3::JobTracker::last_job_for_input_source_id ( core::Size  input_pose_index) const

Last job index of a particular pose id from all starting jobs.

References last_job_for_input_source_.

std::map< core::Size, core::Size > const & protocols::jd3::JobTracker::last_jobs_for_inputs_sources ( ) const

Get the map of last job indexes and input source ids.

References last_job_for_input_source_.

numeric::DiscreteIntervalEncodingTree< core::Size > const & protocols::jd3::JobTracker::started_jobs ( ) const

Read access for jobs have been given out to the JD through determine_job_list.

References started_jobs_.

numeric::DiscreteIntervalEncodingTree< core::Size > const & protocols::jd3::JobTracker::started_jobs_for_node ( core::Size  job_dag_node) const

Read access to all job indexes started for a particular job node.

References started_jobs_by_dag_node_.

numeric::DiscreteIntervalEncodingTree< core::Size > const & protocols::jd3::JobTracker::successful_jobs ( ) const

Read access for which jobs have completed and how; if a job-id is a member of this DIET, then it completed successfully.

References successful_jobs_.

void protocols::jd3::JobTracker::track_completed_job ( JQKey  key,
LarvalJob const &  larval_job,
JobStatus  status 
)

Note the completed job by Job Dag node and by Status. Only the JobQueen is allowed to call this method.

Note the completed job by Job Dag node and by Status.

References completed_jobs_, completed_jobs_by_dag_node_, failed_jobs_, protocols::jd3::jd3_job_previously_executed, protocols::jd3::jd3_job_status_success, protocols::jd3::LarvalJob::job_index(), protocols::jd3::LarvalJob::job_node(), previously_completed_jobs_, and successful_jobs_.

void protocols::jd3::JobTracker::track_starting_job_list ( JQKey  key,
LarvalJobs const &  starting_jobs 
)

Member Data Documentation

SizeDIET protocols::jd3::JobTracker::completed_jobs_
private
std::unordered_map< core::Size, SizeDIET> protocols::jd3::JobTracker::completed_jobs_by_dag_node_
private
core::Size protocols::jd3::JobTracker::current_global_job_index_ = 0
private
SizeDIET protocols::jd3::JobTracker::failed_jobs_
private

Referenced by failed_jobs(), and track_completed_job().

std::map< core::Size, core::Size > protocols::jd3::JobTracker::last_job_for_input_source_
private
SizeDIET protocols::jd3::JobTracker::previously_completed_jobs_
private

Referenced by track_completed_job().

SizeDIET protocols::jd3::JobTracker::started_jobs_
private
std::unordered_map< core::Size, SizeDIET> protocols::jd3::JobTracker::started_jobs_by_dag_node_
private
SizeDIET protocols::jd3::JobTracker::successful_jobs_
private

The documentation for this class was generated from the following files: