EL::Driver Class Reference

Inheritance diagram for EL::Driver:
EL::BackgroundDriver EL::BatchDriver EL::DirectDriver EL::GridDriver EL::ProofDriver EL::PrunDriver EL::CondorDriver EL::GEDriver EL::LLDriver EL::LocalDriver EL::LSFDriver EL::SlurmDriver EL::SoGEDriver EL::TorqueDriver

List of all members.

Public Member Functions

void testInvariant () const
 Driver ()
SH::MetaObjectoptions ()
const SH::MetaObjectoptions () const
void submit (const Job &job, const std::string &location) const
void submitOnly (const Job &job, const std::string &location) const

Static Public Member Functions

static bool retrieve (const std::string &location)
static bool wait (const std::string &location, unsigned time=60)
static void updateLocation (const std::string &location)
static void saveOutput (const std::string &location, const std::string &name, TList &output)
static std::string mergedOutputName (const std::string &location, const OutputStream &output, const std::string &sample)
static void mergedOutputMkdir (const std::string &location, const Job &job)
static void mergedOutputSave (const std::string &location, const Job &job)
static void diskOutputSave (const std::string &location, const Job &job)

Static Protected Attributes

static bool abortRetrieve

Constructor & Destructor Documentation

EL::Driver::Driver (  ) 

effects: standard default constructor guarantee: strong failures: low level errors I


Member Function Documentation

static void EL::Driver::diskOutputSave ( const std::string &  location,
const Job job 
) [static]

effects: make the output sample handler for the given job or stream from the information stored in the histogram files. guarantee: basic failures: out of memory II failures: i/o errors rationale: this is optional, but it is convenient for drivers that use (conventional) writers

static void EL::Driver::mergedOutputMkdir ( const std::string &  location,
const Job job 
) [static]

effects: create all the output directories for merged outputs guarantee: basic failures: out of memory II failures: i/o errors rationale: this is optional, but it is convenient for drivers that want to keep their outputs locally.

static std::string EL::Driver::mergedOutputName ( const std::string &  location,
const OutputStream output,
const std::string &  sample 
) [static]

effects: make the name of the merged output data file guarantee: strong failures: out of memory II rationale: this is optional, but it is convenient for drivers to put these files into the same location.

static void EL::Driver::mergedOutputSave ( const std::string &  location,
const Job job 
) [static]

effects: create and save a sample handler assuming we created all the merged files at the requested locations guarantee: basic failures: out of memory II failures: i/o errors rationale: this is optional, but it is convenient for drivers that want to keep their outputs locally.

SH::MetaObject* EL::Driver::options (  ) 

description: the list of options to jobs with this driver guarantee: no-fail postcondition: result != 0

static bool EL::Driver::retrieve ( const std::string &  location  )  [static]

effects: retrieve all the output for the job in the given location returns: whether the job completed successfully guarantee: basic, may partially retrieve failures: out of memory III failures: job failures failures: job can't be read failures: job was made with different driver rationale: while job failures will cause this method to fail you can typically retry it multiple times if you can use partial results.

static void EL::Driver::saveOutput ( const std::string &  location,
const std::string &  name,
TList &  output 
) [static]

effects: write the list of output objects to disk and clear it guarantee: basic failures: i/o errors rationale: this is made static and public, because depending on the implementation it may be called either from the Driver or the Worker. however, normal users would have no interest in calling it.

void EL::Driver::submit ( const Job job,
const std::string &  location 
) const

effects: submit the given job with the given output location and wait for it to finish guarantee: basic, may partially submit failures: out of memory II failures: can't create directory at location failures: submission errors rationale: this is mostly for small jobs and backward compatibility. for longer jobs use the mechanism below.

void EL::Driver::submitOnly ( const Job job,
const std::string &  location 
) const

effects: submit the given job with the given output location and return immediately guarantee: basic, may partially submit failures: out of memory II failures: can't create directory at location failures: submission errors rationale: this method allows you to submit jobs to your local batch system, log out and at a later point log back in again. warning: not all drivers support this. some will do all their work in the submit function. warning: you normally need to call wait() or retrieve() before you can use the output.

void EL::Driver::testInvariant (  )  const
static void EL::Driver::updateLocation ( const std::string &  location  )  [static]

effects: update the internal location of files, after moving the submission directory guarantee: basic, may update partially failures: out of memory II warning: only move the submission directory after all your jobs are finished, or the results will be unpredictable

static bool EL::Driver::wait ( const std::string &  location,
unsigned  time = 60 
) [static]

effects: retrieve all the output for the job in the given location and wait until it is finished completely. poll the output every time seconds. guarantee: basic, may partially retrieve failures: out of memory III failures: job failures failures: job can't be read failures: job was made with different driver rationale: while job failures will cause this method to fail you can typically retry it multiple times if you can use partial results. rationale: typically sleeping for 60 seconds is an appropriate interval, but if it doesn't work for you, you can change it here.


Member Data Documentation

bool EL::Driver::abortRetrieve [static, protected]

description: this flag is set to true when the wait() function is running and a SIGINT is caught, meaning that control should be returned to the user as soon as possible. drivers can use it to abort long running operations in doRetrieve before completion


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

Generated on 15 Apr 2017 for RootCore Packages by  doxygen 1.6.1