Workspace 6.21.5
Public Member Functions | List of all members
OOPScheduler Class Reference

#include <Workspace/DataExecution/Execution/Schedulers/OutOfProcess/oopscheduler.h>

Inheritance diagram for OOPScheduler:
[legend]

Public Member Functions

 OOPScheduler ()
 
 ~OOPScheduler () override
 
bool canChangeServerType () const override
 
bool canConfigure () const override
 
bool canDelegateTo () const override
 
bool canEditConcurrencyCount () const override
 
bool canEditFeatures () const override
 
bool canEditHostName () const override
 
bool canEditPort () const override
 
bool canEditScope () const override
 
bool canEnable () const override
 
bool canRemove () const override
 
void checkDelayedStop (SchedulerRequest &)
 
bool contributesToTotalWorkload () const override
 
void destroyProcess (const QString &)
 
int getConcurrencyCount () const override
 
quint16 getPort () const override
 
QProcess::ExitStatus getProcessExitStatus (const QString &)
 
QByteArray getProcessOutput (const QString &)
 
QString getTypeId () const override
 
QString getVersion () const override
 
bool hasProcessAborted (const QString &)
 
bool hasProcessFinished (const QString &)
 
bool isConnected () const override
 
bool isLocalWorker () const override
 
void load (QDataStream &) override
 
void save (QDataStream &) const override
 
void scheduleRequest (SchedulerRequest &) override
 
QProcess * startProcess (const QString &key, const QString &processPath, const QStringList &args, const QString &workingDirectory, const QMap< QString, QString > &env)
 
QProcess * startProcess (const QString &key, const QStringList &args, bool useGui=false)
 
void stopRequest (SchedulerRequest &) override
 
- 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
 

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 Slots inherited from AbstractScheduler
virtual void onConnected ()
 
virtual void onDisconnected ()
 
virtual void onError (const QString &description)
 
void setVersion (const QString &version)
 
- 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
 
- 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

◆ OOPScheduler()

◆ ~OOPScheduler()

~OOPScheduler ( )
override

Destructs the OOPScheduler.

Member Function Documentation

◆ canChangeServerType()

bool canChangeServerType ( ) const
inlineoverridevirtual

Reimplemented from AbstractScheduler.

◆ canConfigure()

bool canConfigure ( ) const
inlineoverridevirtual

Reimplemented from AbstractScheduler.

◆ canDelegateTo()

bool canDelegateTo ( ) const
inlineoverridevirtual

Reimplemented from AbstractScheduler.

◆ canEditConcurrencyCount()

bool canEditConcurrencyCount ( ) const
inlineoverridevirtual

Reimplemented from AbstractScheduler.

◆ canEditFeatures()

bool canEditFeatures ( ) const
inlineoverridevirtual

Reimplemented from AbstractScheduler.

◆ canEditHostName()

bool canEditHostName ( ) const
inlineoverridevirtual

Reimplemented from AbstractScheduler.

◆ canEditPort()

bool canEditPort ( ) const
inlineoverridevirtual

Reimplemented from AbstractScheduler.

◆ canEditScope()

bool canEditScope ( ) const
inlineoverridevirtual

Reimplemented from AbstractScheduler.

◆ canEnable()

bool canEnable ( ) const
inlineoverridevirtual

Reimplemented from AbstractScheduler.

◆ canRemove()

bool canRemove ( ) const
inlineoverridevirtual

Reimplemented from AbstractScheduler.

◆ checkDelayedStop()

void checkDelayedStop ( SchedulerRequest request)

Check if the request has been requested to stop

◆ contributesToTotalWorkload()

bool contributesToTotalWorkload ( ) const
inlineoverridevirtual

Reimplemented from AbstractScheduler.

◆ destroyProcess()

void destroyProcess ( const QString &  key)

◆ getConcurrencyCount()

int getConcurrencyCount ( ) const
inlineoverridevirtual

Reimplemented from AbstractScheduler.

◆ getPort()

quint16 getPort ( ) const
inlineoverridevirtual

Reimplemented from AbstractScheduler.

◆ getProcessExitStatus()

QProcess::ExitStatus getProcessExitStatus ( const QString &  key)

◆ getProcessOutput()

QByteArray getProcessOutput ( const QString &  key)

◆ getTypeId()

QString getTypeId ( ) const
overridevirtual

Implements AbstractScheduler.

◆ getVersion()

QString getVersion ( ) const
overridevirtual

Implements AbstractScheduler.

◆ hasProcessAborted()

bool hasProcessAborted ( const QString &  key)

◆ hasProcessFinished()

bool hasProcessFinished ( const QString &  key)

◆ isConnected()

bool isConnected ( ) const
overridevirtual

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

Returns
True if connected, False if not.

Reimplemented from AbstractScheduler.

◆ isLocalWorker()

bool isLocalWorker ( ) const
inlineoverridevirtual

Reimplemented from AbstractScheduler.

◆ load()

void load ( QDataStream &  stream)
overridevirtual

Reimplemented from AbstractScheduler.

◆ save()

void save ( QDataStream &  stream) const
overridevirtual

Reimplemented from AbstractScheduler.

◆ scheduleRequest()

void scheduleRequest ( SchedulerRequest request)
overridevirtual

Implements AbstractScheduler.

◆ startProcess() [1/2]

QProcess * startProcess ( const QString &  key,
const QString &  processPath,
const QStringList args,
const QString &  workingDirectory,
const QMap< QString, QString > &  env 
)

◆ startProcess() [2/2]

QProcess * startProcess ( const QString &  key,
const QStringList args,
bool  useGui = false 
)

◆ stopRequest()

void stopRequest ( SchedulerRequest request)
overridevirtual

Implements AbstractScheduler.