Workspace 6.21.5
Signals | Public Member Functions | Protected Slots | Protected Member Functions | List of all members
SlurmScheduler Class Reference

#include <SSH/SSHPlugin/Schedulers/Slurm/slurmscheduler.h>

Inheritance diagram for SlurmScheduler:
[legend]

Signals

void queueDestroyRequest (CSIRO::DataExecution::SchedulerRequest *)
 
void queueStartRequest (CSIRO::DataExecution::SchedulerRequest *)
 
void queueStopRequest (QString)
 

Public Member Functions

 SlurmScheduler ()
 
 ~SlurmScheduler () override
 
const QString & getInitialisationScript () const
 
const QString & getLogoutScript () const
 
int getPollingInterval ()
 
const QString & getPrivateKey () const
 
const QString & getPublicKey () const
 
const RetryRulesgetRules () const
 
int getTemplateJobMemory () const
 
const QString & getTemplateJobScript () const
 
const WallTimegetTemplateJobWalltime () const
 
QString getTypeId () const override
 
const QString & getUserName () const
 
QString getVersion () const override
 
bool isConnected () const override
 
void load (const QJsonDocument &) override
 
void load (QDataStream &) override
 
void save (QDataStream &) const override
 
void save (QJsonDocument &) const override
 
void setInitialisationScript (const QString &)
 
void setLogoutScript (const QString &)
 
void setPollingInterval (int)
 
void setPrivateKey (const QString &)
 
void setPublicKey (const QString &)
 
void setRules (const RetryRules &rules)
 
void setTemplateJobMemory (int)
 
void setTemplateJobScript (const QString &)
 
void setTemplateJobWalltime (const WallTime &)
 
void setUserName (const QString &)
 
- Public Member Functions inherited from AbstractScheduler
 AbstractScheduler ()
 
 AbstractScheduler (const Scope scope, const QString &hostName, quint16 port, int cpuCount, bool enabled)
 
 ~AbstractScheduler () override
 
virtual bool canChangeServerType () const
 
virtual bool canConfigure () const
 
virtual bool canDelegateTo () const
 
virtual bool canEditConcurrencyCount () const
 
virtual bool canEditFeatures () const
 
virtual bool canEditHostName () const
 
virtual bool canEditMaxServerTimeDiff () const
 
virtual bool canEditPort () const
 
virtual bool canEditScope () const
 
virtual bool canEnable () const
 
virtual bool canRemove () const
 
virtual bool contributesToTotalWorkload () const
 
virtual int getActiveCount () const
 
virtual int getConcurrencyCount () const
 
virtual double getCurrentWorkload () const
 
virtual const QString & getDescription () const
 
virtual bool getEnabled () const
 
virtual const SchedulerFeaturesgetFeatures ()
 
virtual const QString & getHostName () const
 
virtual int getMaxServerTimeDiff () const
 
virtual SchedulerFeatures getOccupiedFeatures () const
 
virtual quint16 getPort () const
 
virtual Scope getScope () const
 
virtual bool getTemporarilyDisabled ()
 
virtual int getTimeout () const
 
virtual QString getTypeId () const =0
 
virtual QString getUserField (QString) const
 
virtual QStringList getUserFieldList () const
 
virtual const QString & getUuid () const
 
virtual QString getVersion () const =0
 
virtual QFuture< ObjectDictionarygetWorkflowOutputs (QString uuid)
 Query for a workflows results.
 
virtual bool isConnected () const
 
virtual bool isLocalWorker () const
 
virtual void load (const QJsonDocument &)
 
virtual void load (QDataStream &)
 
void notifyFailure (SchedulerRequest &, const AbortReason &abortReason, const QString &text="")
 
void notifyProgress (SchedulerRequest &, int percentComplete)
 Triggers a progress notification event on a request.
 
void notifyStarted (SchedulerRequest &)
 
void notifySuccess (SchedulerRequest &)
 
virtual void save (QDataStream &) const
 
virtual void save (QJsonDocument &) const
 
void schedule (SchedulerRequest &request)
 
virtual void setConcurrencyCount (int cpuCount)
 
virtual void setDescription (const QString &description)
 
virtual void setEnabled (bool enabled)
 
virtual void setFeatures (const SchedulerFeatures &features)
 
virtual void setHostName (const QString &host)
 
virtual void setMaxServerTimeDiff (int maxServerTimeDiff)
 
virtual void setPort (const quint16 port)
 
virtual void setScope (const Scope scope)
 
virtual void setTemporarilyDisabled (bool)
 
virtual void setTimeout (int timeout)
 
virtual void setUserField (QString key, QString value)
 
virtual void setUuid (const QString &uuid)
 
virtual void start ()
 
virtual void stop ()
 
void stop (SchedulerRequest &request)
 
virtual bool supports (const SchedulerFeatures &features) const
 

Protected Slots

void requestProcessorHasLoggedOut ()
 
- Protected Slots inherited from AbstractScheduler
virtual void onConnected ()
 
virtual void onDisconnected ()
 
virtual void onError (const QString &description)
 
void setVersion (const QString &version)
 

Protected Member Functions

void connect () override
 
void destroyRequest (CSIRO::DataExecution::SchedulerRequest &) override
 
void disconnect () override
 
void scheduleRequest (CSIRO::DataExecution::SchedulerRequest &) override
 
void stopRequest (CSIRO::DataExecution::SchedulerRequest &) override
 
- Protected Member Functions inherited from AbstractScheduler
virtual void connect ()
 
virtual void destroyRequest (SchedulerRequest &)
 
virtual void disconnect ()
 
bool isSchedulerBusy () const
 
virtual void scheduleRequest (SchedulerRequest &)=0
 
virtual void stopRequest (SchedulerRequest &)=0
 

Additional Inherited Members

- Public Types inherited from AbstractScheduler
enum  Scope { User , System , UserExternalFile , SystemExternalFile }
 
- Static Public Attributes inherited from AbstractScheduler
static const int temporarilyDisabledTime = 3000
 
- Protected Attributes inherited from AbstractScheduler
QAtomicInt activeCount_
 
int cpuCount_
 
QString description_
 
bool enabled_
 
SchedulerFeatures features_
 
QString host_
 
int maxServerTimeDiff_
 
quint16 port_
 
Scope scope_
 
bool temporarilyDisabled_
 
QTime temporarilyDisabledTimer_
 
int timeout_
 
QString uuid_
 
QString version_
 
- Static Protected Attributes inherited from AbstractScheduler
static int DEFAULT_CPUCOUNT = 2
 
static QString DEFAULT_HOST = "127.0.0.1"
 
static int DEFAULT_MAXSERVERTIMEDIFF = 5000
 
static quint16 DEFAULT_PORT = 42150
 
static Scope DEFAULT_SCOPE = AbstractScheduler::User
 
static int DEFAULT_TIMEOUT = 3000
 

Constructor & Destructor Documentation

◆ SlurmScheduler()

◆ ~SlurmScheduler()

~SlurmScheduler ( )
override

Destructs the SlurmScheduler.

Member Function Documentation

◆ connect()

void connect ( )
overrideprotectedvirtual

Establishes a connection to the SlurmScheduler.

Reimplemented from AbstractScheduler.

◆ destroyRequest()

void destroyRequest ( CSIRO::DataExecution::SchedulerRequest request)
overrideprotectedvirtual

Reimplemented from AbstractScheduler.

◆ disconnect()

void disconnect ( )
overrideprotectedvirtual

Disconnects the SlurmScheduler.

Reimplemented from AbstractScheduler.

◆ getInitialisationScript()

const QString & getInitialisationScript ( ) const

◆ getLogoutScript()

const QString & getLogoutScript ( ) const

◆ getPollingInterval()

int getPollingInterval ( )

◆ getPrivateKey()

const QString & getPrivateKey ( ) const

◆ getPublicKey()

const QString & getPublicKey ( ) const

◆ getRules()

const RetryRules & getRules ( ) const
inline

◆ getTemplateJobMemory()

int getTemplateJobMemory ( ) const

◆ getTemplateJobScript()

const QString & getTemplateJobScript ( ) const

◆ getTemplateJobWalltime()

const WallTime & getTemplateJobWalltime ( ) const

◆ getTypeId()

QString getTypeId ( ) const
overridevirtual

Implements AbstractScheduler.

◆ getUserName()

const QString & getUserName ( ) const

◆ getVersion()

QString getVersion ( ) const
overridevirtual

Implements AbstractScheduler.

◆ isConnected()

bool isConnected ( ) const
overridevirtual

Returns true if the SlurmScheduler is connected, false if not.

Returns
True if connected, False if not.

Reimplemented from AbstractScheduler.

◆ load() [1/2]

void load ( const QJsonDocument doc)
overridevirtual

Reimplemented from AbstractScheduler.

◆ load() [2/2]

void load ( QDataStream &  stream)
overridevirtual

Reimplemented from AbstractScheduler.

◆ queueDestroyRequest

void queueDestroyRequest ( CSIRO::DataExecution::SchedulerRequest )
signal

◆ queueStartRequest

void queueStartRequest ( CSIRO::DataExecution::SchedulerRequest )
signal

◆ queueStopRequest

void queueStopRequest ( QString  )
signal

◆ requestProcessorHasLoggedOut

void requestProcessorHasLoggedOut ( )
protectedslot

◆ save() [1/2]

void save ( QDataStream &  stream) const
overridevirtual

Reimplemented from AbstractScheduler.

◆ save() [2/2]

void save ( QJsonDocument doc) const
overridevirtual

Reimplemented from AbstractScheduler.

◆ scheduleRequest()

void scheduleRequest ( CSIRO::DataExecution::SchedulerRequest request)
overrideprotectedvirtual

Implements AbstractScheduler.

◆ setInitialisationScript()

void setInitialisationScript ( const QString &  val)

◆ setLogoutScript()

void setLogoutScript ( const QString &  val)

◆ setPollingInterval()

void setPollingInterval ( int  val)

◆ setPrivateKey()

void setPrivateKey ( const QString &  key)

◆ setPublicKey()

void setPublicKey ( const QString &  key)

◆ setRules()

void setRules ( const RetryRules rules)
inline

◆ setTemplateJobMemory()

void setTemplateJobMemory ( int  val)

◆ setTemplateJobScript()

void setTemplateJobScript ( const QString &  val)

◆ setTemplateJobWalltime()

void setTemplateJobWalltime ( const WallTime val)

◆ setUserName()

void setUserName ( const QString &  val)

◆ stopRequest()

void stopRequest ( CSIRO::DataExecution::SchedulerRequest request)
overrideprotectedvirtual

Implements AbstractScheduler.