EL::Driver Class Reference
List of all members.
Public Member Functions |
void | testInvariant () const |
| Driver () |
SH::MetaObject * | options () |
const SH::MetaObject * | options () 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
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.
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 |
effects: test the invariant of this object guarantee: no-fail
Reimplemented in EL::BackgroundDriver, EL::BatchDriver, EL::CondorDriver, EL::DirectDriver, EL::GEDriver, EL::LLDriver, EL::LocalDriver, EL::LSFDriver, EL::ProofDriver, EL::SlurmDriver, EL::SoGEDriver, EL::TorqueDriver, EL::GridDriver, and EL::PrunDriver.
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
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:
- /cvmfs/atlas.cern.ch/repo/sw/ASG/AnalysisBase/2.4.31/EventLoop/EventLoop/Driver.h