Rosetta 3.4
Public Member Functions | Protected Member Functions | Friends
protocols::jd2::FileSystemJobDistributor Class Reference

#include <FileSystemJobDistributor.hh>

Inheritance diagram for protocols::jd2::FileSystemJobDistributor:
Inheritance graph
[legend]
Collaboration diagram for protocols::jd2::FileSystemJobDistributor:
Collaboration graph
[legend]

List of all members.

Public Member Functions

virtual ~FileSystemJobDistributor ()
virtual void restart ()
virtual core::Size get_new_job_id ()
 Return 0 to signal that no available jobs remain. Otherwise return an index into the Jobs object.
virtual void mark_current_job_id_for_repetition ()
 this function is called whenever a job "soft-fails" and needs to be retried. Generally it should ensure that the subsequent call to obtain_new_job returns this job over again.
virtual void remove_bad_inputs_from_job_list ()
virtual void current_job_finished ()
virtual void go (protocols::moves::MoverOP mover)
 This may be overridden by derived classes. Default implementation invokes go_main.

Protected Member Functions

 FileSystemJobDistributor ()
virtual void job_succeeded (core::pose::Pose &pose, core::Real run_time)
 This function is called upon a successful job completion; it has been virtualized so BOINC and MPI can delay/protect output base implementation is just a call to the job outputter.
virtual void job_failed (core::pose::Pose &pose, bool will_retry)
 This function is called when we five up on the job; it has been virtualized so BOINC and MPI can delay/protect output base implementation is just a call to the job outputter.
virtual void handle_interrupt ()
 This function got called when job is not yet finished and got termitated abnormaly (ctrl-c, kill etc). when implimenting it in subclasses make sure to delete all in-progress-data that your job spawn.

Friends

class JobDistributorFactory

Constructor & Destructor Documentation

protocols::jd2::FileSystemJobDistributor::FileSystemJobDistributor ( ) [protected]
protocols::jd2::FileSystemJobDistributor::~FileSystemJobDistributor ( ) [virtual]

WARNING WARNING! SINGLETONS' DESTRUCTORS ARE NEVER CALLED IN MINI! DO NOT TRY TO PUT THINGS IN THIS FUNCTION! here's a nice link explaining why: http://www.research.ibm.com/designpatterns/pubs/ph-jun96.txt


Member Function Documentation

void protocols::jd2::FileSystemJobDistributor::current_job_finished ( ) [virtual]

when multiple processes are writing to the same directory, then after a job completes, the "in_progress" file for the job must be deleted.

Reimplemented from protocols::jd2::JobDistributor.

core::Size protocols::jd2::FileSystemJobDistributor::get_new_job_id ( ) [virtual]
void protocols::jd2::FileSystemJobDistributor::go ( protocols::moves::MoverOP  mover) [virtual]
void protocols::jd2::FileSystemJobDistributor::handle_interrupt ( ) [protected, virtual]

This function got called when job is not yet finished and got termitated abnormaly (ctrl-c, kill etc). when implimenting it in subclasses make sure to delete all in-progress-data that your job spawn.

Implements protocols::jd2::JobDistributor.

Reimplemented in protocols::jd2::ShuffleFileSystemJobDistributor.

void protocols::jd2::FileSystemJobDistributor::job_failed ( core::pose::Pose pose,
bool  will_retry 
) [protected, virtual]

This function is called when we five up on the job; it has been virtualized so BOINC and MPI can delay/protect output base implementation is just a call to the job outputter.

Reimplemented from protocols::jd2::JobDistributor.

Reimplemented in protocols::jd2::BOINCJobDistributor.

References protocols::jd2::JobDistributor::current_job(), and job_succeeded().

void protocols::jd2::FileSystemJobDistributor::job_succeeded ( core::pose::Pose pose,
core::Real  run_time 
) [protected, virtual]

This function is called upon a successful job completion; it has been virtualized so BOINC and MPI can delay/protect output base implementation is just a call to the job outputter.

Reimplemented from protocols::jd2::JobDistributor.

Reimplemented in protocols::jd2::BOINCJobDistributor.

Referenced by job_failed().

void protocols::jd2::FileSystemJobDistributor::mark_current_job_id_for_repetition ( ) [virtual]

this function is called whenever a job "soft-fails" and needs to be retried. Generally it should ensure that the subsequent call to obtain_new_job returns this job over again.

Implements protocols::jd2::JobDistributor.

Reimplemented in protocols::jd2::BOINCJobDistributor, and protocols::jd2::ShuffleFileSystemJobDistributor.

References protocols::jd2::JobDistributor::clear_current_job_output(), and protocols::jd2::TR().

void protocols::jd2::FileSystemJobDistributor::remove_bad_inputs_from_job_list ( ) [virtual]

this function handles the FAIL_BAD_INPUT mover status by removing other jobs with the same input from consideration

Reimplemented from protocols::jd2::JobDistributor.

References protocols::jd2::JobDistributor::current_job(), protocols::jd2::JobDistributor::current_job_id(), protocols::jd2::JobDistributor::job_outputter(), protocols::jd2::JobDistributor::mark_job_as_bad(), and protocols::jd2::TR().

void protocols::jd2::FileSystemJobDistributor::restart ( ) [virtual]

restart job-distribution from beginning -- useful if you need a second pass over decoys...

Reimplemented from protocols::jd2::JobDistributor.


Friends And Related Function Documentation

friend class JobDistributorFactory [friend]

The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines