Workspace 6.21.5
Signals | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | List of all members
SqlScheduler Class Reference

#include <RemoteExecution/Schedulers/Sql/sqlscheduler.h>

Inheritance diagram for SqlScheduler:
[legend]

Signals

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

Public Member Functions

 SqlScheduler ()
 
 ~SqlScheduler () override
 
QString getDatabaseDriver () const
 
QString getDatabaseName () const
 
int getPollingInterval () const
 
const RetryRulesgetRules () const
 
QString getTypeId () const override
 
QString getVersion () const override
 
QFuture< DataExecution::ObjectDictionarygetWorkflowOutputs (QString uuid) override
 Query if a workflow has finished execution.
 
bool isConnected () const override
 
void load (const QJsonDocument &) override
 
void load (QDataStream &) override
 
void save (QDataStream &) const override
 
void save (QJsonDocument &) const override
 
void setDatabaseDriver (const QString &)
 
void setDatabaseName (const QString &)
 
void setPollingInterval (int)
 
void setRules (const RetryRules &rules)
 
- 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
 

Static Public Member Functions

static bool generateScheduleJob (QSqlQuery &query, const DataExecution::SchedulerRequest &request, const QString &workflowUuid, bool reschedule=false)
 

Static Public Attributes

static QString requestSettingsRetryCount
 
- Static Public Attributes inherited from AbstractScheduler
static const int temporarilyDisabledTime = 3000
 

Protected Member Functions

void connect () override
 
void destroyRequest (DataExecution::SchedulerRequest &) override
 
void disconnect () override
 
void scheduleRequest (DataExecution::SchedulerRequest &) override
 
void stopRequest (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 }
 
- Protected Slots inherited from AbstractScheduler
virtual void onConnected ()
 
virtual void onDisconnected ()
 
virtual void onError (const QString &description)
 
void setVersion (const QString &version)
 
- 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

◆ SqlScheduler()

◆ ~SqlScheduler()

~SqlScheduler ( )
override

Destructs the SqlScheduler.

Member Function Documentation

◆ connect()

void connect ( )
overrideprotectedvirtual

Establishes a connection to the SqlScheduler.

Reimplemented from AbstractScheduler.

◆ destroyRequest()

void destroyRequest ( DataExecution::SchedulerRequest request)
overrideprotectedvirtual

Reimplemented from AbstractScheduler.

◆ disconnect()

void disconnect ( )
overrideprotectedvirtual

Disconnects the SqlScheduler.

Reimplemented from AbstractScheduler.

◆ generateScheduleJob()

bool generateScheduleJob ( QSqlQuery &  query,
const DataExecution::SchedulerRequest request,
const QString &  workflowUuid,
bool  reschedule = false 
)
static

◆ getDatabaseDriver()

QString getDatabaseDriver ( ) const

◆ getDatabaseName()

QString getDatabaseName ( ) const

◆ getPollingInterval()

int getPollingInterval ( ) const

◆ getRules()

const RetryRules & getRules ( ) const
inline

◆ getTypeId()

QString getTypeId ( ) const
overridevirtual

Implements AbstractScheduler.

◆ getVersion()

QString getVersion ( ) const
overridevirtual

Implements AbstractScheduler.

◆ getWorkflowOutputs()

QFuture< ObjectDictionary > getWorkflowOutputs ( QString  uuid)
overridevirtual

Reimplemented from AbstractScheduler.

◆ isConnected()

bool isConnected ( ) const
overridevirtual

Returns true if the SqlScheduler 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 ( DataExecution::SchedulerRequest )
signal

◆ queueStartRequest

void queueStartRequest ( DataExecution::SchedulerRequest )
signal

◆ queueStopRequest

void queueStopRequest ( QString  )
signal

◆ 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 ( DataExecution::SchedulerRequest request)
overrideprotectedvirtual

Implements AbstractScheduler.

◆ setDatabaseDriver()

void setDatabaseDriver ( const QString &  databaseDriver)

◆ setDatabaseName()

void setDatabaseName ( const QString &  databaseName)

◆ setPollingInterval()

void setPollingInterval ( int  val)

◆ setRules()

void setRules ( const RetryRules rules)
inline

◆ stopRequest()

void stopRequest ( DataExecution::SchedulerRequest request)
overrideprotectedvirtual

Implements AbstractScheduler.

Member Data Documentation

◆ requestSettingsRetryCount

QString requestSettingsRetryCount
static