MoleQueue  0.8.0
 All Classes Functions Variables Enumerations Enumerator Pages
Public Slots | Public Member Functions | Protected Slots | Protected Member Functions | Protected Attributes | List of all members
QueueRemote Class Referenceabstract

#include <remote.h>

Inheritance diagram for QueueRemote:
Queue QueueRemoteSsh QueueUit QueuePbs QueueSge QueueSlurm

Public Slots

bool submitJob (MoleQueue::Job job)
 
void killJob (MoleQueue::Job job)
 
virtual void requestQueueUpdate ()=0
 
- Public Slots inherited from Queue
virtual bool submitJob (MoleQueue::Job job)=0
 
virtual void killJob (MoleQueue::Job job)=0
 
virtual void setLaunchTemplate (const QString &script)
 
virtual void setLaunchScriptName (const QString &scriptName)
 

Public Member Functions

 QueueRemote (const QString &queueName="AbstractRemote", QueueManager *parentManager=0)
 
bool writeJsonSettings (QJsonObject &json, bool exportOnly, bool includePrograms) const
 
bool readJsonSettings (const QJsonObject &json, bool importOnly, bool includePrograms)
 
virtual
AbstractQueueSettingsWidget
settingsWidget ()=0
 
void setWorkingDirectoryBase (const QString &base)
 
QString workingDirectoryBase () const
 
void setQueueUpdateInterval (int i)
 
int queueUpdateInterval () const
 
void setDefaultMaxWallTime (int time)
 
int defaultMaxWallTime () const
 
void replaceKeywords (QString &launchScript, const Job &job, bool addNewline=true)
 
- Public Member Functions inherited from Queue
Serverserver ()
 
const Serverserver () const
 
QueueManagerqueueManager ()
 
const QueueManagerqueueManager () const
 
virtual void setName (const QString &newName)
 
QString name () const
 
virtual QString typeName () const
 
bool readSettings (const QString &filePath)
 
bool writeSettings () const
 
bool exportSettings (const QString &fileName, bool includePrograms=true) const
 
bool importSettings (const QString &fileName, bool includePrograms=true)
 
QString stateFileName () const
 
bool addProgram (Program *newProgram, bool replace=false)
 
bool removeProgram (Program *programToRemove)
 
bool removeProgram (const QString &programName)
 
ProgramlookupProgram (const QString &programName) const
 
QStringList programNames () const
 
QList< Program * > programs () const
 
int numPrograms () const
 
virtual QString launchTemplate () const
 
QString launchScriptName () const
 
int jobFailureCount (IdType moleQueueId) const
 

Protected Slots

virtual void submitPendingJobs ()
 
virtual void beginJobSubmission (MoleQueue::Job job)
 
virtual void createRemoteDirectory (MoleQueue::Job job)=0
 
virtual void remoteDirectoryCreated ()=0
 
virtual void copyInputFilesToHost (MoleQueue::Job job)=0
 
virtual void inputFilesCopied ()=0
 
virtual void submitJobToRemoteQueue (MoleQueue::Job job)=0
 
virtual void jobSubmittedToRemoteQueue ()=0
 
virtual void handleQueueUpdate ()=0
 
virtual void beginFinalizeJob (MoleQueue::IdType queueId)=0
 
virtual void finalizeJobCopyFromServer (MoleQueue::Job job)=0
 
virtual void finalizeJobOutputCopiedFromServer ()=0
 
virtual void finalizeJobCopyToCustomDestination (MoleQueue::Job job)=0
 
virtual void finalizeJobCleanup (MoleQueue::Job job)
 
virtual void cleanRemoteDirectory (MoleQueue::Job job)=0
 
virtual void remoteDirectoryCleaned ()=0
 
void jobAboutToBeRemoved (const MoleQueue::Job &job)
 
virtual void beginKillJob (MoleQueue::Job job)=0
 
virtual void endKillJob ()=0
 
- Protected Slots inherited from Queue
virtual void jobAboutToBeRemoved (const MoleQueue::Job &job)
 
void programNameChanged (const QString &newName, const QString &oldName)
 
void cleanLocalDirectory (const MoleQueue::Job &job)
 

Protected Member Functions

virtual void removeStaleJobs ()
 
virtual void timerEvent (QTimerEvent *theEvent)
 
- Protected Member Functions inherited from Queue
 Queue (const QString &queueName="Undefined", QueueManager *parentManager=0)
 
bool writeInputFiles (const Job &job)
 
bool addJobFailure (IdType moleQueueId)
 
void clearJobFailures (IdType moleQueueId)
 

Protected Attributes

int m_checkQueueTimerId
 
QList< IdType > m_pendingSubmission
 
int m_checkForPendingJobsTimerId
 
int m_queueUpdateInterval
 
int m_defaultMaxWallTime
 
QString m_workingDirectoryBase
 
- Protected Attributes inherited from Queue
QueueManagerm_queueManager
 
Serverm_server
 
QString m_name
 
QString m_launchTemplate
 
QString m_launchScriptName
 
QMap< QString, Program * > m_programs
 
QMap< IdType, IdType > m_jobs
 
QMap< IdType, int > m_failureTracker
 

Additional Inherited Members

- Signals inherited from Queue
void programAdded (const QString &name, MoleQueue::Program *program)
 
void programRemoved (const QString &name, MoleQueue::Program *program)
 
void programRenamed (const QString &newName, Program *prog, const QString &oldName)
 
void nameChanged (const QString &newName, const QString &oldName)
 
- Static Public Member Functions inherited from Queue
static QString queueTypeFromFile (const QString &mqqFile)
 

Detailed Description

abstract Queue subclass for interacting with a generic Remote queue.

Member Function Documentation

bool writeJsonSettings ( QJsonObject &  value,
bool  exportOnly,
bool  includePrograms 
) const
virtual

writeJsonSettings Write the queue's internal state into a JSON object.

Parameters
valueTarget JSON object.
exportOnlyIf true, instance specific information (e.g. currently running jobs, login details, etc) is omitted.
includeProgramsWhether or not to include the Queue's program configurations.
Returns
True on success, false on failure.

Reimplemented from Queue.

Reimplemented in QueueRemoteSsh.

bool readJsonSettings ( const QJsonObject &  value,
bool  importOnly,
bool  includePrograms 
)
virtual

readJsonSettings Initialize the queue's internal state from a JSON object.

Parameters
valueSource JSON object.
importOnlyIf true, instance specific information (e.g. currently running jobs, login details, etc) is ignored.
includeProgramsWhether or not to include the Queue's program configurations.
Returns
True on success, false on failure.
Note
When reimplementing this method, verify and parse the Json object into temporary variables, then call the base class implementation and only modify the queue if the call returns true.

Reimplemented from Queue.

Reimplemented in QueueRemoteSsh.

virtual AbstractQueueSettingsWidget* settingsWidget ( )
pure virtual

Returns a widget that can be used to configure the settings for the queue.

Reimplemented from Queue.

Implemented in QueueRemoteSsh, and QueueUit.

void setQueueUpdateInterval ( int  i)

Time between remote queue updates in minutes.

int queueUpdateInterval ( ) const

Time between remote queue updates in minutes.

void setDefaultMaxWallTime ( int  time)

setDefaultMaxWallTime Set the default walltime limit (in minutes) for jobs on this queue. This value will be used if the job's Job::maxWallTime() method returns a value <= 0. Default is one day.

Parameters
timewalltime limit in minutes
See Also
Job::maxWallTime()
int defaultMaxWallTime ( ) const

defaultMaxWallTime Get the default walltime limit (in minutes) for jobs on this queue. This value will be used if the job's Job::maxWallTime() method returns a value <= 0. Default is one day.

Returns
walltime limit in minutes
See Also
Job::maxWallTime()
void replaceKeywords ( QString &  launchScript,
const Job job,
bool  addNewline = true 
)
virtual

Reimplemented from Queue::replaceKeywords.

Reimplemented from Queue.

virtual void beginJobSubmission ( MoleQueue::Job  job)
protectedvirtualslot

Main entry point into the job submission pipeline.

void jobAboutToBeRemoved ( const MoleQueue::Job job)
protectedslot

Reimplemented from Queue.

virtual void removeStaleJobs ( )
protectedvirtual

Check for any jobs that are not present in the JobManager but are still in this object's internal data structures. This may be the result of an improper shut down when state is serialized inconsistently. If any such jobs are found, they are removed from the internal structures and an Error is emitted.

virtual void timerEvent ( QTimerEvent *  theEvent)
protectedvirtual

Reimplemented to monitor queue events.

Member Data Documentation

QList<IdType> m_pendingSubmission
protected

MoleQueue ids of jobs that have been accepted but not submitted.

int m_queueUpdateInterval
protected

Time between remote queue updates in minutes.

int m_defaultMaxWallTime
protected

Default maximum walltime limit for jobs on this queue in minutes.


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