ImagingTools Core SDK
Public Types | Public Member Functions | List of all members
imthype::IJobQueueManagerabstract

#include <IJobQueueManager.h>

Inheritance diagram for imthype::IJobQueueManager:
imtbase::ICollectionInfo

Public Types

enum  ProcessingStatus {
  PS_NONE , PS_WAITING_FOR_ACCEPTING , PS_WAITING_FOR_PROCESSING , PS_RUNNING ,
  PS_CANCELING , PS_RETRIEVING_RESULTS , PS_CANCELED , PS_REJECTED ,
  PS_FINISHED
}
 
enum  JobFlags { JF_RESUMABLE = 1 , JF_CANCELABLE = 2 }
 
- Public Types inherited from imtbase::ICollectionInfo
enum  ChangeFlags {
  CF_ADDED = 10000 , CF_ELEMENT_RENAMED , CF_ELEMENT_DESCRIPTION_CHANGED , CF_ELEMENT_STATE ,
  CF_REMOVED , CF_RESTORED , CF_LAST
}
 
enum  ElementInfoType { EIT_NAME , EIT_DESCRIPTION , EIT_ENABLED , EIT_USER = 1000 }
 
enum  MetaInfoType {
  MIT_INSERTION_USER = idoc::IDocumentMetaInfo::MIT_USER + 10000 , MIT_INSERTION_TIME , MIT_LAST_OPERATION_USER , MIT_LAST_OPERATION_TIME ,
  MIT_PREVIEW_THUMBNAIL , MIT_REVISION = idoc::IDocumentMetaInfo::MIT_USER + 20000
}
 

Public Member Functions

virtual const iprm::IOptionsList * GetSupportedTasks () const =0
 
virtual QByteArray GetTaskTypeId (const QByteArray &jobId) const =0
 
virtual iprm::IParamsSetUniquePtr CreateJobParameters (const QByteArray &contextId, const QByteArray &taskTypeId, const iprm::IParamsSet *defaultParamPtr) const =0
 
virtual QByteArray InsertNewJobIntoQueue (const QByteArray &contextId, const QByteArray &typeId, const imtbase::IReferenceCollection &input, const iprm::IParamsSet *jobProcessingParamsPtr, const IJobSchedulerParams *schedulerParamsPtr=nullptr, ilog::IMessageConsumer *logPtr=nullptr)=0
 
virtual bool CancelJob (const QByteArray &jobId)=0
 
virtual bool ResumeJob (const QByteArray &jobId)=0
 
virtual bool RemoveJob (const QByteArray &jobId)=0
 
virtual bool GetJobConfiguration (const QByteArray &jobId, ParamsPtr &processingParamsPtr, imtbase::IReferenceCollection &input) const =0
 
virtual ProcessingStatus GetProcessingStatus (const QByteArray &jobId) const =0
 
virtual bool SetProcessingStatus (const QByteArray &jobId, ProcessingStatus status)=0
 
virtual double GetProgress (const QByteArray &jobId) const =0
 
virtual bool SetProgress (const QByteArray &jobId, double progress)=0
 
virtual bool GetJobResult (const QByteArray &jobId, IJobOutput &result) const =0
 
virtual bool SetJobResult (const QByteArray &jobId, const IJobOutput &result)=0
 
- Public Member Functions inherited from imtbase::ICollectionInfo
virtual int GetElementsCount (const iprm::IParamsSet *selectionParamsPtr=nullptr, ilog::IMessageConsumer *logPtr=nullptr) const =0
 
virtual Ids GetElementIds (int offset=0, int count=-1, const iprm::IParamsSet *selectionParamsPtr=nullptr, ilog::IMessageConsumer *logPtr=nullptr) const =0
 
virtual bool GetSubsetInfo (ICollectionInfo &subsetInfo, int offset=0, int count=-1, const iprm::IParamsSet *selectionParamsPtr=nullptr, ilog::IMessageConsumer *logPtr=nullptr) const =0
 
virtual QVariant GetElementInfo (const Id &elementId, int infoType, ilog::IMessageConsumer *logPtr=nullptr) const =0
 
virtual idoc::MetaInfoPtr GetElementMetaInfo (const Id &elementId, ilog::IMessageConsumer *logPtr=nullptr) const =0
 
virtual bool SetElementName (const Id &elementId, const QString &name, ilog::IMessageConsumer *logPtr=nullptr)=0
 
virtual bool SetElementDescription (const Id &elementId, const QString &description, ilog::IMessageConsumer *logPtr=nullptr)=0
 
virtual bool SetElementEnabled (const Id &elementId, bool isEnabled=true, ilog::IMessageConsumer *logPtr=nullptr)=0
 

Detailed Description

Interface for controlling the job processing queue. Job list itself is described by imtbase::ICollectionInfo interface.

Definition at line 40 of file IJobQueueManager.h.

Member Enumeration Documentation

◆ JobFlags

Operational flags for a single job or the whole job queue.

Enumerator
JF_RESUMABLE 

Job can be paused and resumed.

JF_CANCELABLE 

Job can be canceled.

Definition at line 117 of file IJobQueueManager.h.

◆ ProcessingStatus

Processing status of a single job in the queue.

Enumerator
PS_NONE 

No status.

PS_WAITING_FOR_ACCEPTING 

Job is waiting for accepting by the processing pipeline.

PS_WAITING_FOR_PROCESSING 

JoB was accepted by the job dispatcher and now wating for its execution.

PS_RUNNING 

Job is running.

PS_CANCELING 

Job is canceling.

PS_RETRIEVING_RESULTS 

Job results are beeing transported to the job requester.

PS_CANCELED 

Job was canceled.

PS_REJECTED 

Job request was rejected by the processing pipeline.

PS_FINISHED 

Job was finished. The job result can be requested.

Definition at line 48 of file IJobQueueManager.h.

Member Function Documentation

◆ CancelJob()

virtual bool imthype::IJobQueueManager::CancelJob ( const QByteArray &  jobId)
pure virtual

Cancel processing of the given job.

Returns
true if operation was successful or false otherwise.

◆ CreateJobParameters()

virtual iprm::IParamsSetUniquePtr imthype::IJobQueueManager::CreateJobParameters ( const QByteArray &  contextId,
const QByteArray &  taskTypeId,
const iprm::IParamsSet *  defaultParamPtr 
) const
pure virtual

Create processing parameters of the given type for the job.

◆ GetJobConfiguration()

virtual bool imthype::IJobQueueManager::GetJobConfiguration ( const QByteArray &  jobId,
ParamsPtr &  processingParamsPtr,
imtbase::IReferenceCollection input 
) const
pure virtual

Get job configuration for a given job.

◆ GetJobResult()

virtual bool imthype::IJobQueueManager::GetJobResult ( const QByteArray &  jobId,
IJobOutput result 
) const
pure virtual

Get result information for a finished job.

Returns
true if the retrieving of the job results was successful or false otherwise
Note
The method works only for finished jobs.

◆ GetProcessingStatus()

virtual ProcessingStatus imthype::IJobQueueManager::GetProcessingStatus ( const QByteArray &  jobId) const
pure virtual

Get corresponded job processing status for the job with a given ID jobId.

◆ GetProgress()

virtual double imthype::IJobQueueManager::GetProgress ( const QByteArray &  jobId) const
pure virtual

Get progress of the runnung job.

◆ GetSupportedTasks()

virtual const iprm::IOptionsList * imthype::IJobQueueManager::GetSupportedTasks ( ) const
pure virtual

Get the list of supported task types.

◆ GetTaskTypeId()

virtual QByteArray imthype::IJobQueueManager::GetTaskTypeId ( const QByteArray &  jobId) const
pure virtual

Get the type-ID of the given job task.

◆ InsertNewJobIntoQueue()

virtual QByteArray imthype::IJobQueueManager::InsertNewJobIntoQueue ( const QByteArray &  contextId,
const QByteArray &  typeId,
const imtbase::IReferenceCollection input,
const iprm::IParamsSet *  jobProcessingParamsPtr,
const IJobSchedulerParams schedulerParamsPtr = nullptr,
ilog::IMessageConsumer *  logPtr = nullptr 
)
pure virtual

Insert processing job into the processing queue. If the operation was successful, the method will return the UUID of the created job or an empty value otherwise. You can use the returned UUID for controlling the job execution and retrieving results.

Parameters
contextIdID of the job context.
typeIdType-ID for the job. Will be used for pairing the corresponding job worker.
inputList of job inputs given as a collection of object links. Each input object should be persistency placed into a storage (IObjectCollection) bevor call this method.
jobProcessingParamsPtrProcessing parameters for the job (so called job ticket).
schedulerParamsPtrParameters of the job scheduler (optional).
logPtrJob related log.

◆ RemoveJob()

virtual bool imthype::IJobQueueManager::RemoveJob ( const QByteArray &  jobId)
pure virtual

Remove a job from the queue.

Returns
true if operation was successful or false otherwise.

◆ ResumeJob()

virtual bool imthype::IJobQueueManager::ResumeJob ( const QByteArray &  jobId)
pure virtual

Resume a paused job.

Note
The operation is supported only if the job is in paused or in finished state.
Returns
true if operation was successful or false otherwise.

◆ SetJobResult()

virtual bool imthype::IJobQueueManager::SetJobResult ( const QByteArray &  jobId,
const IJobOutput result 
)
pure virtual

Set result information for a finished job.

Returns
true if the job results could be set or false otherwise.
Note
The method works only for finished jobs.

◆ SetProcessingStatus()

virtual bool imthype::IJobQueueManager::SetProcessingStatus ( const QByteArray &  jobId,
ProcessingStatus  status 
)
pure virtual

Set job processing status for the job with a given ID jobId.

◆ SetProgress()

virtual bool imthype::IJobQueueManager::SetProgress ( const QByteArray &  jobId,
double  progress 
)
pure virtual

Set progress of the runnung job.