OpendTect  7.0
Public Member Functions | Public Attributes | Protected Types | Protected Member Functions | Protected Attributes | List of all members
JobRunner Class Reference

Runs all jobs defined by JobDescProv. More...

Inheritance diagram for JobRunner:
[legend]

Public Member Functions

 JobRunner (JobDescProv *, const char *cmd)
 JobDescProv becomes mine. Never pass null. More...
 
 ~JobRunner ()
 
bool addHost (const HostData &)
 
Network::Authority authority () const
 
const FilePathcurJobFilePath ()
 
const JobInfocurJobInfo () const
 
IOParcurJobIOPar ()
 
JobInfocurrentJob (const HostNFailInfo *) const
 
const JobDescProvdescProv () const
 
uiString errorMsg () const
 
const FilePathgetBaseFilePath (JobInfo &, const HostData &)
 
int getLastReceivedTime (JobInfo &)
 
bool hostFailed (int) const
 
const ObjectSet< HostNFailInfo > & hostInfo () const
 
bool isAssigned (const JobInfo &) const
 
bool isPaused (int) const
 
const JobInfojobInfo (int idx, bool failed=false) const
 
int jobsDone () const
 
int jobsInProgress () const
 
int jobsLeft () const
 
int nextStep () override
 
od_int64 nrDone () const override
 
uiString nrDoneMessage () const
 
int nrJobs (bool failed=false) const
 
void pauseHost (int, bool)
 
const char * procDir () const
 
void removeHost (int)
 
void setFirstPort (PortNr_Type n)
 
void setNiceNess (int n)
 
void setProg (const char *s)
 
void setRshComm (const char *s)
 
void showMachStatus (BufferStringSet &) const
 
bool stopAll ()
 
int totalJobs () const
 
od_int64 totalNr () const override
 
uiString uiMessage () const override
 will be message() again in 7.x More...
 
- Public Member Functions inherited from Executor
 Executor (const char *nm)
 
virtual ~Executor ()
 
int doStep () override
 
bool execute () override
 
bool go (od_ostream &s, bool isfirst=true, bool islast=true, int delaybtwnstepsinms=0)
 
bool go (od_ostream *s=0, bool isfirst=true, bool islast=true, int delaybtwnstepsinms=0)
 
- Public Member Functions inherited from SequentialTask
 SequentialTask (const char *nm=nullptr)
 
virtual ~SequentialTask ()
 
bool execute () override
 
- Public Member Functions inherited from ReportingTask
virtual ~ReportingTask ()
 
void getProgress (const ReportingTask &)
 
- Public Member Functions inherited from Task
virtual ~Task ()
 
virtual void controlWork (Control)
 
virtual void enableWorkControl (bool=true)
 Must be called before execute() More...
 
virtual uiRetVal errorWithDetails () const
 
virtual Control getState () const
 
virtual uiString uiNrDoneText () const
 will be nrDoneText() in 7.x More...
 
bool workControlEnabled () const
 
- Public Member Functions inherited from NamedCallBacker
 NamedCallBacker (const char *nm=0)
 
 NamedCallBacker (const NamedCallBacker &)
 
virtual Notifier< NamedCallBacker > & objectToBeDeleted () const
 
bool operator== (const NamedCallBacker &oth) const
 
bool operator== (const NamedObject &oth) const
 
- Public Member Functions inherited from CallBacker
 CallBacker ()
 
 CallBacker (const CallBacker &)
 
virtual ~CallBacker ()
 
bool attachCB (const NotifierAccess &, const CallBack &, bool onlyifnew=false) const
 
bool attachCB (const NotifierAccess *notif, const CallBack &cb, bool onlyifnew=false) const
 
void detachAllNotifiers () const
 Call from the destructor of your inherited object. More...
 
void detachCB (const NotifierAccess &, const CallBack &) const
 
void detachCB (const NotifierAccess *notif, const CallBack &cb) const
 
virtual bool isCapsule () const
 
bool isNotifierAttached (const NotifierAccess *) const
 Only for debugging purposes, don't use. More...
 
void stopReceivingNotifications () const
 
virtual CallBackertrueCaller ()
 
- Public Member Functions inherited from NamedObject
 NamedObject (const char *nm=nullptr)
 
 NamedObject (const NamedObject &oth)
 
virtual ~NamedObject ()
 
virtual BufferString getName () const
 
bool getNameFromPar (const IOPar &)
 
const name_typename () const override
 
NamedObjectoperator= (const NamedObject &)
 
bool operator== (const NamedObject &oth) const
 
virtual void setName (const char *nm)
 
- Public Member Functions inherited from ObjectWithName
virtual ~ObjectWithName ()
 
bool hasName (const char *nm) const
 
bool hasName (const name_type &nm) const
 
void putNameInPar (IOPar &) const
 

Public Attributes

Notifier< JobRunnerjobFailed
 
Notifier< JobRunnermsgAvail
 
Notifier< JobRunnerpostJobStart
 
Notifier< JobRunnerpreJobStart
 
- Public Attributes inherited from Executor
Notifier< Executorpoststep
 Only when MoreToDo will be returned. More...
 
Notifier< Executorprestep
 
- Public Attributes inherited from ReportingTask
Notifier< ReportingTaskprogressUpdated
 

Protected Types

enum  AssignStat { NotReady , BadHost , JobStarted , NoJobs }
 
enum  HostStat { OK = 0 , SomeFailed = 1 , HostFailed = 2 }
 
enum  StartRes { Started , NotStarted , JobBad , HostBad }
 

Protected Member Functions

AssignStat assignJob (HostNFailInfo &)
 
int doCycle ()
 
void failedJob (JobInfo &, JobInfo::State)
 
JobInfogtJob (int descnr)
 
void handleExitStatus (JobInfo &)
 
void handleStatusInfo (StatusInfo &)
 
bool haveIncomplete () const
 
HostNFailInfohostNFailInfoFor (const HostData *) const
 
HostStat hostStatus (const HostNFailInfo *) const
 
JobIOMgriomgr ()
 
bool runJob (JobInfo &, const HostData &)
 
StartRes startJob (JobInfo &, HostNFailInfo &)
 
void updateJobInfo ()
 
- Protected Member Functions inherited from Executor
virtual bool goImpl (od_ostream *, bool, bool, int)
 
- Protected Member Functions inherited from ReportingTask
 ReportingTask (const char *nm=nullptr)
 
void incrementProgress ()
 
ProgressMeterprogressMeter () const
 
void reportProgressFinished ()
 
void reportProgressStarted ()
 
void resetProgress ()
 
void setProgressMeter (ProgressMeter *) override
 Must be called before execute() More...
 
void updateProgressMeter (bool forced=false, std::int64_t *totalnr=0)
 
void updateReportedName ()
 
- Protected Member Functions inherited from Task
 Task (const char *nm=nullptr)
 
virtual bool shouldContinue ()
 
- Protected Member Functions inherited from NamedCallBacker
void sendDelNotif () const
 

Protected Attributes

FilePathcurjobfp_
 
JobInfocurjobinfo_ = nullptr
 
IOParcurjobiop_
 
JobDescProvdescprov_
 
uiString errmsg_
 
ObjectSet< JobInfofailedjobs_
 
int failtimeout_
 
PortNr_Type firstport_
 
ObjectSet< HostNFailInfohostinfo_
 
int hosttimeout_
 
JobIOMgriomgr_ = nullptr
 
ObjectSet< JobInfojobinfos_
 
int maxhostfailures_
 host failrs B4 host bad More...
 
int maxjobfailures_
 job related job failrs More...
 
int maxjobhstfails_
 host related job failrs More...
 
int niceval_ = 19
 
BufferString procdir_
 
BufferString prog_
 
BufferString rshcomm_
 
int starttimeout_
 
int startwaittime_
 wait B4 next client start More...
 
int wrapuptimeout_
 
- Protected Attributes inherited from Task
Control control_
 
Threads::ConditionVarworkcontrolcondvar_
 
- Protected Attributes inherited from NamedCallBacker
Threads::Atomic< bool > delalreadytriggered_
 
Notifier< NamedCallBackerdelnotif_
 
- Protected Attributes inherited from NamedObject
BufferString name_
 

Additional Inherited Members

- Public Types inherited from Task
enum  Control { Run , Pause , Stop }
 
- Public Types inherited from ObjectWithName
typedef OD::String name_type
 
- Static Public Member Functions inherited from SequentialTask
static int ErrorOccurred ()
 
static int Finished ()
 
static int MoreToDo ()
 
static int WarningAvailable ()
 
- Static Public Member Functions inherited from Task
static uiString stdNrDoneText ()
 
static uiString uiStdNrDoneText ()
 
- Static Public Member Functions inherited from CallBacker
static void createReceiverForCurrentThread ()
 
static void removeReceiverForCurrentThread ()
 

Detailed Description

Runs all jobs defined by JobDescProv.

<>

Member Enumeration Documentation

◆ AssignStat

enum JobRunner::AssignStat
protected
Enumerator
NotReady 
BadHost 
JobStarted 
NoJobs 

◆ HostStat

enum JobRunner::HostStat
protected
Enumerator
OK 
SomeFailed 
HostFailed 

◆ StartRes

enum JobRunner::StartRes
protected
Enumerator
Started 
NotStarted 
JobBad 
HostBad 

Constructor & Destructor Documentation

◆ JobRunner()

JobRunner::JobRunner ( JobDescProv ,
const char *  cmd 
)

JobDescProv becomes mine. Never pass null.

◆ ~JobRunner()

JobRunner::~JobRunner ( )

Member Function Documentation

◆ addHost()

bool JobRunner::addHost ( const HostData )

◆ assignJob()

AssignStat JobRunner::assignJob ( HostNFailInfo )
protected

◆ authority()

Network::Authority JobRunner::authority ( ) const

◆ curJobFilePath()

const FilePath& JobRunner::curJobFilePath ( )
inline

◆ curJobInfo()

const JobInfo& JobRunner::curJobInfo ( ) const
inline

◆ curJobIOPar()

IOPar& JobRunner::curJobIOPar ( )
inline

◆ currentJob()

JobInfo* JobRunner::currentJob ( const HostNFailInfo ) const

◆ descProv()

const JobDescProv* JobRunner::descProv ( ) const
inline

◆ doCycle()

int JobRunner::doCycle ( )
protected

◆ errorMsg()

uiString JobRunner::errorMsg ( ) const

◆ failedJob()

void JobRunner::failedJob ( JobInfo ,
JobInfo::State   
)
protected

◆ getBaseFilePath()

const FilePath& JobRunner::getBaseFilePath ( JobInfo ,
const HostData  
)

◆ getLastReceivedTime()

int JobRunner::getLastReceivedTime ( JobInfo )

◆ gtJob()

JobInfo* JobRunner::gtJob ( int  descnr)
protected

◆ handleExitStatus()

void JobRunner::handleExitStatus ( JobInfo )
protected

◆ handleStatusInfo()

void JobRunner::handleStatusInfo ( StatusInfo )
protected

◆ haveIncomplete()

bool JobRunner::haveIncomplete ( ) const
protected

◆ hostFailed()

bool JobRunner::hostFailed ( int  ) const

◆ hostInfo()

const ObjectSet<HostNFailInfo>& JobRunner::hostInfo ( ) const
inline

◆ hostNFailInfoFor()

HostNFailInfo* JobRunner::hostNFailInfoFor ( const HostData ) const
protected

◆ hostStatus()

HostStat JobRunner::hostStatus ( const HostNFailInfo ) const
protected

◆ iomgr()

JobIOMgr& JobRunner::iomgr ( )
protected

◆ isAssigned()

bool JobRunner::isAssigned ( const JobInfo ) const

◆ isPaused()

bool JobRunner::isPaused ( int  ) const

◆ jobInfo()

const JobInfo& JobRunner::jobInfo ( int  idx,
bool  failed = false 
) const
inline

◆ jobsDone()

int JobRunner::jobsDone ( ) const

◆ jobsInProgress()

int JobRunner::jobsInProgress ( ) const

◆ jobsLeft()

int JobRunner::jobsLeft ( ) const
inline

◆ nextStep()

int JobRunner::nextStep ( )
inlineoverridevirtual
Return values
MoreToDo()Not finished. Call me again.
Finished()Nothing more to do.
ErrorOccurred()Something went wrong.
Note
if function returns a value greater than cMoreToDo(), it should be interpreted as cMoreToDo().

Implements SequentialTask.

◆ nrDone()

od_int64 JobRunner::nrDone ( ) const
inlineoverridevirtual
Note
nrDone is only used for displaying progress and will be compared to totalNr to show user how large part of the task that is finished.

Reimplemented from Task.

◆ nrDoneMessage()

uiString JobRunner::nrDoneMessage ( ) const

◆ nrJobs()

int JobRunner::nrJobs ( bool  failed = false) const
inline

◆ pauseHost()

void JobRunner::pauseHost ( int  ,
bool   
)

◆ procDir()

const char* JobRunner::procDir ( ) const
inline

◆ removeHost()

void JobRunner::removeHost ( int  )

◆ runJob()

bool JobRunner::runJob ( JobInfo ,
const HostData  
)
protected

◆ setFirstPort()

void JobRunner::setFirstPort ( PortNr_Type  n)
inline

◆ setNiceNess()

void JobRunner::setNiceNess ( int  n)

◆ setProg()

void JobRunner::setProg ( const char *  s)
inline

◆ setRshComm()

void JobRunner::setRshComm ( const char *  s)
inline

◆ showMachStatus()

void JobRunner::showMachStatus ( BufferStringSet ) const

◆ startJob()

StartRes JobRunner::startJob ( JobInfo ,
HostNFailInfo  
)
protected

◆ stopAll()

bool JobRunner::stopAll ( )

◆ totalJobs()

int JobRunner::totalJobs ( ) const
inline

◆ totalNr()

od_int64 JobRunner::totalNr ( ) const
inlineoverridevirtual

Reimplemented from Task.

◆ uiMessage()

uiString JobRunner::uiMessage ( ) const
overridevirtual

will be message() again in 7.x

Reimplemented from Task.

◆ updateJobInfo()

void JobRunner::updateJobInfo ( )
protected

Member Data Documentation

◆ curjobfp_

FilePath& JobRunner::curjobfp_
protected

◆ curjobinfo_

JobInfo* JobRunner::curjobinfo_ = nullptr
protected

◆ curjobiop_

IOPar& JobRunner::curjobiop_
protected

◆ descprov_

JobDescProv* JobRunner::descprov_
protected

◆ errmsg_

uiString JobRunner::errmsg_
protected

◆ failedjobs_

ObjectSet<JobInfo> JobRunner::failedjobs_
protected

◆ failtimeout_

int JobRunner::failtimeout_
protected

◆ firstport_

PortNr_Type JobRunner::firstport_
protected

◆ hostinfo_

ObjectSet<HostNFailInfo> JobRunner::hostinfo_
protected

◆ hosttimeout_

int JobRunner::hosttimeout_
protected

◆ iomgr_

JobIOMgr* JobRunner::iomgr_ = nullptr
protected

◆ jobFailed

Notifier<JobRunner> JobRunner::jobFailed

◆ jobinfos_

ObjectSet<JobInfo> JobRunner::jobinfos_
protected

◆ maxhostfailures_

int JobRunner::maxhostfailures_
protected

host failrs B4 host bad

◆ maxjobfailures_

int JobRunner::maxjobfailures_
protected

job related job failrs

◆ maxjobhstfails_

int JobRunner::maxjobhstfails_
protected

host related job failrs

◆ msgAvail

Notifier<JobRunner> JobRunner::msgAvail

◆ niceval_

int JobRunner::niceval_ = 19
protected

◆ postJobStart

Notifier<JobRunner> JobRunner::postJobStart

◆ preJobStart

Notifier<JobRunner> JobRunner::preJobStart

◆ procdir_

BufferString JobRunner::procdir_
protected

◆ prog_

BufferString JobRunner::prog_
protected

◆ rshcomm_

BufferString JobRunner::rshcomm_
protected

◆ starttimeout_

int JobRunner::starttimeout_
protected

◆ startwaittime_

int JobRunner::startwaittime_
protected

wait B4 next client start

◆ wrapuptimeout_

int JobRunner::wrapuptimeout_
protected

Generated at for the OpendTect seismic interpretation project. Copyright (C): dGB Beheer B.V. 1995-2024