Qorus Integration Engine®  4.0.3.p1_git
QorusSystemService Class Reference

main fs service class More...

Inheritance diagram for QorusSystemService:
QorusSystemArchService QorusSystemDatasourceService QorusSystemOmqmapService QorusSystemPropService QorusSystemQueueService QorusSystemRemoteService QorusSystemSqlutilService QorusSystemStatusService

Public Member Methods

 constructor ()
 initializes the info service
 
softlist getOrderInfoFromKey (string name, string version, softstring key, softstring value)
 returns order instance info from user order key (params: workflowname, workflowversion, keyname, value)
 
*list getWorkflowListFromWorkflowKey (string workflow, softstring key, softstring value)
 returns order instance info from the workflow name, key, and value More...
 
hash getAllInfoFromOrderKey (string name, string version, softstring key, softstring value)
 returns all information about a workflow from a user order key (params: workflowname, workflowversion, keyname, value)
 
deprecated *hash getWorkflowMetadata ()
 gets workflow metadata (optional params: list of IDs), returns: hash of workflow metadata keyed by name and then version: COMPAT VERSION with fake flow information (removed in Qorus v2); use getWorkflowMetadata2() instead More...
 
*hash getWorkflowMetadata2 ()
 gets workflow metadata (optional params: list of IDs), returns: hash of workflow metadata keyed by name and then version More...
 
*hash getWorkflowMetadataFromName (string name, *string ver)
 gets workflow metadata from name and version (params: name, optional: version), returns: hash of workflow metadata keyed by name and then version: COMPAT VERSION with fake flow information; use getWorkflowMetadataFromName2() instead More...
 
*hash getWorkflowMetadataFromName2 (string name, *string ver)
 gets workflow metadata from name and version (params: name, optional: version), returns: hash of workflow metadata keyed by name and then version, new version without flows (removed in Qorus v2) More...
 
*hash getFunctionInstance (softint fiid, *softdate date)
 retrieves function data from the function_instanceid (params: function_instanceid), returns: hash of function data keyed by name and then version
 
*hash getFunctionInstanceFromName (string name, *string ver)
 retrieves function data from the name and optionally the version (params: name, [version]), returns: hash of function data keyed by name and then version
 
*hash getServiceMethod2 (softint mid, *softdate date)
 retrieves method data from the service_methodid (params: service_methodid), returns: hash of method data More...
 
*hash getServiceMethod (softint mid, *softdate date)
 retrieves method data from the service_methodid (params: service_methodid), returns: hash of method data More...
 
*list getWorkflowInstanceList (*softlist workflowid, *softdate date=now() - 1D, any stati, softint rownum=OptionHelper::getOption("row-limit"))
 gets a list of workflow instance ids (not more than 100 by default, can be overridden with the 4th argument), params: workflowid (single value, list, or NOTHING), date, [statuses, num rows]
 
list getWorkflowInstances (*softlist wfids, *list statuses, *softdate modified, softint rownum=OptionHelper::getOption("row-limit"), *int offset, *softlist sort, *softlist wfiids, *softbool desc, *date minstarted, *date maxstarted)
 gets a list of workflow instance ids; this is the safe and preferred variant of this method More...
 
deprecated list getWorkflowInstances (softint workflowid, *string condition, int rownum=OptionHelper::getOption("row-limit"))
 gets a list of workflow instance ids, params: workflowid, condition, number of rows (100 default) More...
 
*list getWorkflowInstancesByKeyValue (softlist val, *softstring key, *softlist wfids, *softlist statuses, *date modified, softint rownum=OptionHelper::getOption("row-limit"), *int offset, *softlist sort, *softlist wfiids, *softbool desc, *date minstarted, *date maxstarted)
 retrieves workflow instances from a key value and optional key name
 
*list searchWorkflowInstances (*hash h)
 searches for workflow order instances according to a hash More...
 
list getWorkflowInstanceOverview (list wfilist)
 return the Workflow Instance Overview info, PARAMS: list(hash("ID",[optional: "date"])), RETURN: list(hash(info))
 
list getStepInstanceList (softint wfiId)
 gets a list of step instances, params: workflowinstanceid
 
list getErrorInstanceList (softint workflowInstanceId, *softint stepId, *softint ind)
 gets a list of error instances, params: workflowInstanceId, [stepId, ind]
 
list getErrorInstanceListByWFIID (softint workflowInstanceId, *softint stepId)
 gets a list of error instances, params: workflowInstanceId, [stepId]
 
*hash< auto > getClass (softint classid, *softdate date)
 retrieves class data from a classid; returns: hash of class data keyed by name and then version
 
*hash getStepMetadata ()
 gets step metadata (optional params: list of IDs), returns: hash of step metadata information keyed by name and then version
 
*hash getTreeWithWorkflowInstance (softint workflowinstanceid, softbool full=False, softbool compat=True)
 retrieves tree view like structure that contains specific instanceid (params: workflowinstanceid)
 
*hash getWFIAllInfo (softint workflowInstanceID, *softdate lastModifiedDate, softbool compat=True, softbool with_sensitive_data=False)
 Retrieves all workflow instance info (params: workflowInstanceID, [lastModifiedDate]; output hash keys: InstanceInfo, OrderInfo, StepInstances, ErrorInstances, LastModified. More...
 
*hash getWFIInstanceInfo (softint workflowInstanceID, *softdate lastModifiedDate, softbool compat=True)
 Retrieves only workflow instance info (params: workflowInstanceID, [lastModifiedDate]; output hash keys: InstanceInfo, LastModified. More...
 
*hash getWFIOrderInfo (softint workflowInstanceID, *softdate lastModifiedDate, softbool compat=True, softbool with_sensitive_data=False)
 Retrieves workflow instances order info (params: workflowInstanceID, [lastModifiedDate]; output hash keys: OrderInfo, LastModified. More...
 
*hash getWFIStepInstances (softint workflowInstanceID, *softdate lastModifiedDate, softbool compat=False)
 Retrieves all step info for workflow instance (params: workflowInstanceID, [lastModifiedDate]; output hash keys: StepInstances, LastModified.
 
*hash getWFIErrorInstances (softint workflowInstanceID, *softdate lastModifiedDate, softbool compat=True)
 gets workflow instance error info (params: workflowInstanceID, [lastModifiedDate]; output hash keys: ErrorInstances, LastModified
 
*list getWorkflowInstanceListFromWorkflowNameAndKeyValue (string name, softstring val)
 retrieves workflow instances from a workflow name and a key value, returns a list of workflow instance IDs
 
*list getWorkflowInstanceListFromWorkflowNameVersionAndKeyValue (string name, string version, softstring val)
 retrieves workflow instances from a workflow name, version, and key value, returns a list of workflow instance IDs
 
*list getWorkflowInstanceListFromKeyValue (softstring val)
 retrieves workflow instances from a key value only, returns a list of workflow instance IDs
 
list getOrderInfoList (string name, softstring key, softstring value)
 returns order info from a workflow name and an order key and value (params: workflowname, keyname, value)
 
*list< auto > searchOrderKeys (hash params)
 returns a list of workflow instance info matching the input criteria More...
 
softlist searchWorkflowErrors (hash h)
 returns a list of matching errors for the input criteria More...
 
*list searchReleases (*hash params)
 returns release info More...
 
*list searchSessions (*hash params)
 returns information about application sessions More...
 
*hash getUnpostedEvents (*softlist ids, *softdate lastmod=now() - 6M, softint rownum=OptionHelper::getOption("row-limit"), *int offset)
 returns a hash of event type names with lists of unposted events for each, params: event ID(s), [last modified date] More...
 
*hash getUnpostedEventsFromName (string eventname, *softdate lastmod)
 returns a hash of event type names with lists of unposted events for each, params: event type name, [last modified date] More...
 
list searchEvents (*hash h)
 returns workflow synchronization event information More...
 
*hash getJobMetadata ()
 retrieves job metadata (optional params: list of job ids), returns: job info keyed by name More...
 
*hash getJobMetadataFromName (string name)
 retrieves job metadata from the name, returns: job info keyed by name More...
 
list getJobList ()
 retrieves a list of all jobs without the code field More...
 
*hash getJobStatus (softint jiid)
 returns NOTHING if the job instance ID is not valid or a hash giving job instance status corresponding to the job instance ID passed as an argument More...
 
*list getJobInstanceList (any jobid, *softdate date=now() - 1D, any stati, softint rownum=OptionHelper::getOption("row-limit"))
 gets a list of job instance ids (not more than 100 by default, can be overridden with the 4th argument), params: jobid (single value or list), date, [statuses, num rows] More...
 
*list getJobInstances (*softlist jobids, *softlist statuses, *softdate modified, softint rownum=OptionHelper::getOption("row-limit"), *softint offset, *softlist sort, *softlist jiids, *softbool desc, *softbool full)
 gets a list of job instance ids, params: jobid, condition, number of rows (100 default) More...
 
softlist getOrderInstanceNotes (softint wfiid, *int count)
 gets a list of order instance notes More...
 
list< hash< SlaEventInfo > > searchSlaEvents (*hash h)
 searches for SLA events according to the given criteria and returns a list of results More...
 
softlist< hash< SlaPerformanceInfo > > getSlaPerformance (*hash h)
 searches for SLA events according to the given criteria and returns a list of results More...
 

Static Public Member Methods

static deprecated *hash getWorkflowStatus (softint id)
 returns workflow instance status from workflow_instanceid: COMPAT VERSION with fake flow and flow_instance information (removed in Qorus v2); use getWorkflowStatus2() instead More...
 
static *hash getWorkflowStatus2 (softstring wfiid)
 returns workflow order data instance status from the workflow_instanceid More...
 
static *hash getOrderInfo (softstring wfiid)
 returns order instance info from workflow_instanceid
 
static *list getOrderInfoFromExternalID (softstring id)
 returns order instance info from external_order_instanceid
 
static softlist getOrdersFromKey (softstring key, softstring value)
 returns order instance info from the key and value
 
static *hash< auto > getWorkflowOverview (softdate date=now() - 1D, *softlist wfids, softbool useSqlCache=True, softbool with_deprecated=True)
 gets workflow overview, params: [date, [workflowids]]: If no date is given, default = last 24 hours More...
 
static *hash getWorkflowOverviewFromName (softdate date=now() - 1D, *string name, *string version, softbool useSqlCache=True, softbool with_deprecated=True)
 gets workflow overview, params: [date, [name, [version]]]: If no date is given, default = last 24 hours More...
 
static *list getWorkflowSummaryOverview (softdate date=now() - 1D, softbool useSqlCache=True, softbool with_deprecated=True)
 gets system overview, params: [date]: If no date is given, default = last 24 hours More...
 
static *hash getServiceMetadata ()
 retrieves service metadata (optional params: list of service ids), returns: service info keyed by name. NOTE: if no list is given, only the latest version of each service will be returned
 
static *hash getServiceMetadataFromName (string type, string name, *string ver)
 retrieves service metadata from the type, name and optional version (params: type, name, [version]), returns: service info keyed by name. NOTE: if no version is given, only the latest version will be returned
 
static list getLibraryMetadata ()
 retrieves function library information as a list of hashes with the keys name, function_instanceid
 
static *hash getClassFromName (string name, *string ver)
 retrieves class data from the class name and optional version (params: name, [version]), returns: hash of class data keyed by name and then version
 
static *hash getConstant (softint constantid, *softdate date)
 retrieves constant data from the constantid (params: constantid), returns: hash of constant data keyed by name and then version
 
static *hash getConstantFromName (string name, *string ver)
 retrieves constant data from the constant name and optional version (params: name, [version]), returns: hash of constant data keyed by name and then version
 
static *hash getWFIOrderKeysOnly (softint workflowInstanceID)
 Retrieves only order keys for workflow instance params: workflowInstanceID; output: hash.
 
static *list getWorkflowProcessingSummary (hash h)
 returns a summary of workflow processing for the given time period and optional workflow ID(s) More...
 
static *list getStepProcessingSummary (hash h)
 returns a summary of step processing for the given time period and optional step ID(s) More...
 
static *hash getJobOverview (softdate date=now() - 1D, any jobids, bool useSqlCache=True)
 gets job overview, params: [date, [jobids]]: If no date is given, default = last 24 hours More...
 
static *hash getJobOverviewFromName (softdate date=now() - 1D, *string name, bool useSqlCache=True)
 gets job overview, params: [date, [name]]: If no date is given, default = last 24 hours More...
 

Private:Internal Member Methods

nothing rename (string source, string target, softbool man=False)
 rename/move a file More...
 
nothing rename_conn (string conn_src, string source, string conn_tgt, string target, softbool man=False)
 rename/move a file More...
 
nothing _copy (string source, string target)
 copy a file More...
 
nothing copy_conn (string conn_src, string source, string conn_tgt, string target)
 copy a file More...
 
nothing del (string path)
 delete a file More...
 
nothing del_conn (string conn, string path)
 delete a file More...
 
list ls (string path, *string regex, *softint reopts, *string encoding)
 lists files in the given directory More...
 
list ls_conn (string conn, *string path, *string regex, *softint reopts, *string encoding)
 lists files in the given directory More...
 
binary get_file_bin (string path)
 returns the given file as binary data More...
 
binary get_file_bin_conn (string conn, string path)
 returns the given file as binary data More...
 
string get_file_string (string path, *string encoding)
 returns the given file as string data More...
 
string get_file_string_conn (string conn, string path, *string encoding)
 returns the given file as string data More...
 
nothing write_file (string path, data data, int mode=0664, *string encoding)
 writes the input data to the given location More...
 
nothing write_file_conn (string conn, string path, data data, int mode=0664, *string encoding)
 writes the input data to the given location More...
 
*hash hstat_file (string path)
 runs Qore::hstat() on a file target and returns the result More...
 
*hash hstat_file_conn (string conn, string path)
 runs Qore::hstat() on a file target and returns the result More...
 

Detailed Description

main fs service class

the main info service class

Member Function Documentation

◆ _copy()

nothing QorusSystemService::_copy ( string  source,
string  target 
)
inlineprivate:internal

copy a file

Parameters
sourcethe source path
targetthe target path

If any errors occur, an exception is thrown

Exceptions
COPY-ERRORcannot stat() source file

◆ copy_conn()

nothing QorusSystemService::copy_conn ( string  conn_src,
string  source,
string  conn_tgt,
string  target 
)
inlineprivate:internal

copy a file

Parameters
conn_srcthe source user connection name
sourcethe source path, relative to conn_src
conn_tgtthe target user connection name
targetthe target path, relative to conn_tgt

If any errors occur, an exception is thrown

Exceptions
CONNECTION-ERRORthe given connection is not known
COPY-ERRORcannot stat() source file
FS-USER-CONNECTION-ERRORthe given connection is not a filesystem connection

◆ del()

nothing QorusSystemService::del ( string  path)
inlineprivate:internal

delete a file

Parameters
paththe path of the file to delete

If any errors occur, an exception is thrown

Exceptions
UNLINK-ERRORerror removing the file

◆ del_conn()

nothing QorusSystemService::del_conn ( string  conn,
string  path 
)
inlineprivate:internal

delete a file

Parameters
connan user connection name
paththe path of the file to delete, relative to conn

If any errors occur, an exception is thrown

Exceptions
CONNECTION-ERRORthe given connection is not known
FS-USER-CONNECTION-ERRORthe given connection is not a filesystem connection
UNLINK-ERRORerror removing the file

◆ get_file_bin()

binary QorusSystemService::get_file_bin ( string  path)
inlineprivate:internal

returns the given file as binary data

Parameters
paththe path of the file to retrieve
Returns
the file data as binary data

◆ get_file_bin_conn()

binary QorusSystemService::get_file_bin_conn ( string  conn,
string  path 
)
inlineprivate:internal

returns the given file as binary data

Parameters
connan user connection name
paththe path of the file to retrieve, relative to conn
Returns
the file data as binary data
Exceptions
CONNECTION-ERRORthe given connection is not known
FS-USER-CONNECTION-ERRORthe given connection is not a filesystem connection

◆ get_file_string()

string QorusSystemService::get_file_string ( string  path,
*string  encoding 
)
inlineprivate:internal

returns the given file as string data

Parameters
paththe path of the file to retrieve
encodingthe encoding of the source file
Returns
the file data as a string

◆ get_file_string_conn()

string QorusSystemService::get_file_string_conn ( string  conn,
string  path,
*string  encoding 
)
inlineprivate:internal

returns the given file as string data

Parameters
connanuser connection
paththe path of the file to retrieve
encodingthe encoding of the source file
Returns
the file data as a string
Exceptions
CONNECTION-ERRORthe given connection is not known
FS-USER-CONNECTION-ERRORthe given connection is not a filesystem connection

◆ getJobInstanceList()

*list QorusSystemService::getJobInstanceList ( any  jobid,
*softdate  date = now() - 1D,
any  stati,
softint  rownum = OptionHelper::getOption("row-limit") 
)
inline

gets a list of job instance ids (not more than 100 by default, can be overridden with the 4th argument), params: jobid (single value or list), date, [statuses, num rows]

Parameters
jobida single jobid or a list of jobids to query
datean optional cutoff date, if the date parameter is not passed, then the cutoff date is set to 24 hours in the past; the cutoff date is used with the job_instance.modified column; only rows with a modified date greater than or equal to the date passed will be returned
statia single job status or a list of job statuses to check; see Job Data Status Descriptions for possible values
rownumthe maximum number of rows to return
Returns
a list of integer job instance IDs
Note
if more than one jobid is given, there is no way to differentiate the jobid from the list returned because only a flat list of job_instanceid values is returned
Exceptions
PARAMETER-ERRORmissing jobid parameter, invalid date passed, or invalid job status passed
JOB-ACCESS-ERRORRole Based Access Control is enabled and the calling user does not have the right to access one or more of the given jobids

◆ getJobInstances()

*list QorusSystemService::getJobInstances ( *softlist  jobids,
*softlist  statuses,
*softdate  modified,
softint  rownum = OptionHelper::getOption("row-limit"),
*softint  offset,
*softlist  sort,
*softlist  jiids,
*softbool  desc,
*softbool  full 
)
inline

gets a list of job instance ids, params: jobid, condition, number of rows (100 default)

Parameters
jobidsone or more jobids to query
statusesa list with requested statuses in expanded form ('ERROR') or NOTHING
modifieda limit (>=) for the modified column or NOTHING
rownumthe maximum number of rows to return
offsetthe row offset (for paging results)
sorta list of column names for sorting
jiidsan optional list of job_instanceids for the search
descif True, then a descending sort is used
fullif True, then errors and audit events are also returned
Returns
NOTHING if no rows match the criteria, or a list of hashes with the following keys:
  • job_instanceid: the job instance ID being queried
  • jobid: the jobid (metadata ID)
  • jobstatus: the current status of the job (see Job Data Status Descriptions for possible values)
  • sessionid: the application session currently running the job, otherwise 0
  • started: the time the job instance was started
  • completed: the time the job instance completed (with any status)
  • modified: the time the job instance was last modified
  • errors: a list of error hashes (included only if full = True)
  • audit: a list of audit event hashes (included only if full = True)
Exceptions
JOB-ACCESS-ERRORRole Based Access Control is enabled and the calling user does not have the right to access one or more of the given jobids

◆ getJobList()

list QorusSystemService::getJobList ( )
inline

retrieves a list of all jobs without the code field

Returns
a list of hashes with the following keys for all jobs in the database:
  • name: the unique name of the job
  • jobid: the unique job ID
  • description: job description
  • version: version number of the job
  • sessionid: if single_instance is True, then this field could be non-0, meaning that the job is currently running in that instance
  • active: True if active, False if not
  • run_skipped: True if the job should be executed immediately if a trigger time was missed due to down time, False if not
  • [recurring]: if this field is present, this gives the number of seconds between job executions, and the cron fields will not be present
  • [minute]: cron field: minutes when the job can be executed
  • [hour]: cron field: hours when the job can be executed
  • [day]: cron field: days when the job can be executed
  • [month]: cron field: months when the job can be executed
  • [wday]: cron field: week days (0 = Sunday) when the job can be executed
  • [last_executed]: the date/time the job was last executed (if not present, the job has not yet been executed)
  • [last_executed_job_instanceid]: the last executed instance id of the job
  • [expiry_date]: the date/time the job will expire; if this date is present, the job will not run automatically after this date
  • created: the date/time the job was loaded into the database
  • modified: the date/time the job was modified in the database
  • single_instance: if True, then this job can only be started on one Qorus instance at a time
  • groups: a list of RBAC group names that this job is a member of
Note
if this method is called externally, and the user has a limited list of accessible jobs, then only information about the jobs the user can access is returned

◆ getJobMetadata()

*hash QorusSystemService::getJobMetadata ( )
inline

retrieves job metadata (optional params: list of job ids), returns: job info keyed by name

Returns
NOTHING if no job can be matched to any of the given ids (or no jobs are in the system if no id is passed), or a hash keyed by job name where the value is a hash of job information with the following keys:
  • name: the unique name of the job
  • jobid: the unique job ID
  • description: job description
  • version: version number of the job
  • sessionid: if single_instance is True, then this field could be non-0, meaning that the job is currently running in that instance
  • active: True if active, False if not
  • run_skipped: True if the job should be executed immediately if a trigger time was missed due to down time, False if not
  • code: the source code of the job
  • [recurring]: if this field is present, this gives the number of seconds between job executions, and the cron fields will not be present
  • [minute]: cron field: minutes when the job can be executed
  • [hour]: cron field: hours when the job can be executed
  • [day]: cron field: days when the job can be executed
  • [month]: cron field: months when the job can be executed
  • [wday]: cron field: week days (0 = Sunday) when the job can be executed
  • [last_executed]: the date/time the job was last executed (if not present, the job has not yet been executed)
  • [last_executed_job_instanceid]: the last executed instance id of the job
  • [expiry_date]: the date/time the job will expire; if this date is present, the job will not run automatically after this date
  • created: the date/time the job was loaded into the database
  • modified: the date/time the job was modified in the database
  • single_instance: if True, then this job can only be started on one Qorus instance at a time
  • lib: a hash keyed by library object type (key values: "functions", "classes", "constants"); the value of each key will be a list of hashes with the following keys (empty lists mean no objects of that type are listed as library objects of the workflow):
  • name: the name of the library object
  • version: the version of the library object
  • id: the ID of the library object (referencing the tables, FUNCTION_INSTANCE, CLASSES, or CONSTANTS)
  • groups: a list of RBAC group names that this job is a member of
Exceptions
JOB-ACCESS-ERRORRole Based Access Control is enabled and the user does not have access to the given job

◆ getJobMetadataFromName()

*hash QorusSystemService::getJobMetadataFromName ( string  name)
inline

retrieves job metadata from the name, returns: job info keyed by name

Parameters
namethe name of the job to query
Returns
see getJobMetadata() for information about the return value
Exceptions
JOB-ACCESS-ERRORRole Based Access Control is enabled and the user does not have access to the given job

◆ getJobOverview()

static *hash QorusSystemService::getJobOverview ( softdate  date = now() - 1D,
any  jobids,
bool  useSqlCache = True 
)
inlinestatic

gets job overview, params: [date, [jobids]]: If no date is given, default = last 24 hours

Parameters
datethe minimum date to check for changes; job_instance rows with a modified date before this date will not be reported; the default value is 24 hours from the current date and time
jobidsthe jobs IDs to query
useSqlCacheif the sql cache should be used
Returns
NOTHING if no information is available, otherwise a hash where the keys are job names and the values are hashes with the following keys:
  • jobid: the jobid of the job
  • version: the version of the job
  • [COMPLETE]: the number of job instances with status OMQ::JS_Complete in the given time frame
  • [ERROR]: the number of job instances with status OMQ::JS_Complete in the given time frame
  • [IN-PROGRESS]: the number of job instances with status OMQ::JS_InProgress in the given time frame (should never be > 1 for a given job)
  • [CRASH]: the number of job instances with status OMQ::JS_Crash in the given time frame
Exceptions
PARAMETER-ERRORthe date passed was not valid
JOB-ACCESS-ERRORRole Based Access Control is enabled and the user does not have access to the given job
Note
if this method is called externally, and the user has a limited list of accessible jobs, then only information about the jobs the user can access is returned; if the user requests a particular job and does not have access to that job, then a JOB-ACCESS-ERROR exception is raised

◆ getJobOverviewFromName()

static *hash QorusSystemService::getJobOverviewFromName ( softdate  date = now() - 1D,
*string  name,
bool  useSqlCache = True 
)
inlinestatic

gets job overview, params: [date, [name]]: If no date is given, default = last 24 hours

Parameters
datethe minimum date to check for changes; job_instance rows with a modified date before this date will not be reported; the default value is 24 hours from the current date and time
namethe optional name of the job to check; if no name is passed, then all accessible jobs will be reported
useSqlCacheif the sql cache should be used
Returns
see getJobOverview() for the return value
Exceptions
UNKNOWN-JOBthe job name given does not exist
PARAMETER-ERRORthe date passed was not valid
JOB-ACCESS-ERRORRole Based Access Control is enabled and the user does not have access to the given job
Note
if this method is called externally, and the user has a limited list of accessible jobs, then only information about the jobs the user can access is returned; if the user requests a particular job and does not have access to that job, then a JOB-ACCESS-ERROR exception is raised

◆ getJobStatus()

*hash QorusSystemService::getJobStatus ( softint  jiid)
inline

returns NOTHING if the job instance ID is not valid or a hash giving job instance status corresponding to the job instance ID passed as an argument

Parameters
jiidthe job instance ID to query
Returns
NOTHING if the job instance ID is not valid or a hash giving job instance status corresponding to the job instance ID passed as an argument with the following keys:
  • job_instanceid: the job instance ID being queried
  • jobid: the jobid (metadata ID)
  • sessionid: the application session currently running the job, otherwise 0
  • jobstatus: the current status of the job (see Job Data Status Descriptions for possible values)
  • [info]: the information saved against the job (if any)
  • started: the time the job instance was started
  • completed: the time the job instance completed (with any status)
  • modified: the time the job instance was last modified
  • errors: if any errors were raised against the job instance, they will appear as hashes in a list assigned to this key; the hashes will have the following keys:
  • job_errorid: the unique ID of the error in the job_errors table
  • severity: the severity of the error (see Error Severity Codes for possible values)
  • error: the error code
  • description: description of the error
  • [info]: any additional data saved against the error
  • business_error: True if the error is a business error, False if not
  • created: the date/time the error was created
  • audit: if any audit events were created for the given job instance, they will appear as hashes in a list assigned to this key; the hashes will have the following keys:
  • audit_eventid: the audit event ID (unique key in the AUDIT_EVENTS table)
  • [related_audit_eventid]: related audit event ID
  • audit_event_code: the audit event code (see Audit Event Codes for possible values)
  • [audit_user_event]: the user audit event code string (present only when audit_event_code is OMQ::AE_USER_EVENT)
  • [reason]: the reason for the event
  • who: the initiator of the event
  • source: a string describing the source of the event
  • [info1]: an informational string about the event
  • [info2]: an informational string about the event
  • created: the date/time the audit event was created
  • event: the string description corresponding to the audit_event_code (see Audit Event Strings for possible values)
Exceptions
JOB-ACCESS-ERRORRole Based Access Control is enabled and the user does not have access to the given job instance ID

◆ getOrderInstanceNotes()

softlist QorusSystemService::getOrderInstanceNotes ( softint  wfiid,
*int  count 
)
inline

gets a list of order instance notes

Parameters
wfiidthe wfiid to query
countan optional "limit count

◆ getServiceMethod()

*hash QorusSystemService::getServiceMethod ( softint  mid,
*softdate  date 
)
inline

retrieves method data from the service_methodid (params: service_methodid), returns: hash of method data

Deprecated:
use getServiceMethod2() instead; this method is the same but provides 2 additional hardcoded fields for backwards-compatibility
Parameters
midthe method ID
dateif this date is present, then information will only be returned if the method has been modified after the given date
Returns
NOTHING if no data is available, or a hash with the same keys as the return value of getServiceMethod2() with 2 additional hardcoded fields:
  • createdby: hardcoded to "omq"
  • modifiedby: hardcoded to "omq"
Exceptions
SERVICE-ACCESS-ERRORRole Based Access Control is enabled and the user does not have access to the given service
Note
if this method is called externally, and the user does not have access to the given service, then a SERVICE-ACCESS-ERROR exception is raised

◆ getServiceMethod2()

*hash QorusSystemService::getServiceMethod2 ( softint  mid,
*softdate  date 
)
inline

retrieves method data from the service_methodid (params: service_methodid), returns: hash of method data

Parameters
midthe method ID
dateif this date is present, then information will only be returned if the method has been modified after the given date
Returns
NOTHING if no data is available, or a hash with the following info:
  • service_methodid: the method ID (corresponding to the mid argument)
  • serviceid: the ID of the service
  • name: the method name
  • description: the method description
  • locktype: the lock attribute for the method, see Service Method Lock Attribute Values for possible values
  • internal: a flag where 0 = not internal, 1 = internal
  • body: the method body
  • created: the create date/time of the method record
  • modified: the modification date/time of the method record
  • write: a flag where 0 = not write, 1 = write
  • tags: any service method tags; the special tag "sys" is a hash with system tags
Exceptions
SERVICE-ACCESS-ERRORRole Based Access Control is enabled and the user does not have access to the given service
Note
if this method is called externally, and the user does not have access to the given service, then a SERVICE-ACCESS-ERROR exception is raised

◆ getSlaPerformance()

softlist<hash<SlaPerformanceInfo> > QorusSystemService::getSlaPerformance ( *hash  h)
inline

searches for SLA events according to the given criteria and returns a list of results

Parameters
ha hash of search criteria with the following optional keys:
  • err: the error string of unsucessful SLA events; can be a list of strings or a string with "%" characters for SQL like matching
  • errdesc: the error description string of unsucessful SLA events; can be a list of strings or a string with "%" characters for SQL like matching
  • grouping: (optional) possible values for reporting performance statistics:
  • "hourly": hourly grouping
  • "daily": daily grouping
  • "monthly": monthly grouping
  • "yearly": yearly grouping
  • name: the name of the SLA; can be a list of names or a string with "%" characters for SQL like matching
  • maxdate: maximum SLA event timestamp (exclusive, meaning "<" comparisons used)
  • mindate: minimum SLA event timestamp (inclusive, meaning ">=" comparisons used)
  • producer: the producer string of SLA events; can be a list of strings or a string with "%" characters for SQL like matching
  • slaid: the SLA ID, can be a list of IDs
  • success: filter for sucessful calls (1) or errored calls (0)
Returns
an empty list if no events are matched, otherwise a list of OMQ::SlaPerformanceInfo hashes
Since
Qorus 3.1.1

◆ getStepProcessingSummary()

static *list QorusSystemService::getStepProcessingSummary ( hash  h)
inlinestatic

returns a summary of step processing for the given time period and optional step ID(s)

Parameters
ha hash with the following keys:
  • mindate: (required) the minimum date/time for the processing summary
  • maxdate: (optional) the maximum date/time for the processing summary
  • step: (optional) one or more step names
  • stepids: (optional) one or more stepids for the processing summary
  • seconds: (optional) if True then the performance values will be returned in integers representing seconds
  • grouping: (optional) possible values for reporting performance statistics:
  • "hourly": hourly grouping
  • "daily": daily grouping
  • "monthly": monthly grouping
  • "yearly": yearly grouping
  • global: (optional) if True then all workflows will be combined into an overall processing report, if False then each workflow gets a separate line in the output

◆ getUnpostedEvents()

*hash QorusSystemService::getUnpostedEvents ( *softlist  ids,
*softdate  lastmod = now() - 6M,
softint  rownum = OptionHelper::getOption("row-limit"),
*int  offset 
)
inline

returns a hash of event type names with lists of unposted events for each, params: event ID(s), [last modified date]

Parameters
idsNOTHING or one or more event type IDs to check
lastmodan optional last modified date; if present, then only records modified after the given date will be returned
rownummaximum rowz returned
offsetrow offset for return values
Returns
NOTHING if no events are available, or a hash keyed by the event type name where each value is a list of event keys

◆ getUnpostedEventsFromName()

*hash QorusSystemService::getUnpostedEventsFromName ( string  eventname,
*softdate  lastmod 
)
inline

returns a hash of event type names with lists of unposted events for each, params: event type name, [last modified date]

Parameters
eventnamethe event type name to query
lastmodan optional last modified date; if present, then only records modified after the given date will be returned
Returns
NOTHING if no events are available, or a hash keyed by the event type name where each value is a list of event keys
Exceptions
UNKNOWN-EVENTthe event name passed is invalid

◆ getWFIAllInfo()

*hash QorusSystemService::getWFIAllInfo ( softint  workflowInstanceID,
*softdate  lastModifiedDate,
softbool  compat = True,
softbool  with_sensitive_data = False 
)
inline

Retrieves all workflow instance info (params: workflowInstanceID, [lastModifiedDate]; output hash keys: InstanceInfo, OrderInfo, StepInstances, ErrorInstances, LastModified.

Parameters
workflowInstanceIDthe workflow instance ID of the order
lastModifiedDateonly retrieve information if changed after this date (if the argument is present); note that this argument is ignored if the workflow order data is cached; in this case, all information are returned and this argument is ignored
compatadd keys for backwards-compatibility with very old versions of Qorus
with_sensitive_dataalso return Sensitive Data in the OrderInfo key
Returns
NOTHING if the workflow instance ID does not exist, otherwise a hash is returned with the following keys:
  • InstanceInfo: information about the workflow order; see getWFIInstanceInfo() return value for the value of this key see the OrderInfo key also
  • OrderInfo: information about the actual order information
  • StepInstances: information about steps in the current workflow order
  • ErrorInstances: information about errors raised against the workflow order
  • HierarchyInfo: information about all parent and/or child workflows related to this workflow order
  • AuditEvents: if any audit events were created for the given job instance, they will appear as hashes in a list assigned to this key; the hashes will have the following keys:
  • audit_eventid: the audit event ID (unique key in the AUDIT_EVENTS table)
  • [related_audit_eventid]: related audit event ID
  • audit_event_code: the audit event code (see Audit Event Codes for possible values)
  • [audit_user_event]: the user audit event code string (present only when audit_event_code is OMQ::AE_USER_EVENT)
  • [reason]: the reason for the event
  • who: the initiator of the event
  • source: a string describing the source of the event
  • [info1]: an informational string about the event
  • [info2]: an informational string about the event
  • created: the date/time the audit event was created
  • event: the string description corresponding to the audit_event_code (see Audit Event Strings for possible values)
  • LastModified: the last modified date of the workflow order if the data is retrieved from the DB, otherwise the current date and time if the information was retrieved form the workflow order cache
Exceptions
SENSITIVE-DATA-ERRORthis exception is thrown when with_sensitive_data is True and the request is received over an insecure connection
AUTHORIZATION-ERRORthis exception is thrown when with_sensitive_data is True and the user has neither OMQ::QR_READ_SENSITIVE_DATA or OMQ::QR_SENSITIVE_DATA_CONTROL
Since
Qorus 3.1.1 this API supports retrieving sensitive data over internal and encrypted connections by authorized users

◆ getWFIInstanceInfo()

*hash QorusSystemService::getWFIInstanceInfo ( softint  workflowInstanceID,
*softdate  lastModifiedDate,
softbool  compat = True 
)
inline

Retrieves only workflow instance info (params: workflowInstanceID, [lastModifiedDate]; output hash keys: InstanceInfo, LastModified.

Parameters
workflowInstanceIDthe workflow instance ID of the order
lastModifiedDateonly retrieve information if changed after this date (if the argument is present)
compatadd keys for backwards-compatibility with very old versions of Qorus
Returns
NOTHING if the criteria do not match any workflow order, otherwise a hash with the following keys:
  • InstanceInfo: a hash with the following keys:
  • name: the name of the workflow (metadata)
  • version: the version of the workflow (metadata)
  • workflow_instanceid: equal to the workflowInstanceID argument
  • workflowid: the workflowid of the workflow (metadata)
  • workflowstatus: the status of the workflow (see Workflow, Segment, and Step Status Descriptions for possible values)
  • status_sessionid: the Qorus application session that the order belongs to or 0 if not owned by any session
  • parent_workflow_instanceid: the parent workflow instance ID if this workflow is a subworkflow
  • synchronous: 1 for an order currently being executed synchronously
  • business_error: True if the OMQ::StatError status is due to a business error
  • workflowstatus_orig: the original status of the workflow (only if the status is OMQ::StatBlocked or OMQ::StatCanceled; see Workflow, Segment, and Step Status Descriptions for possible values)
  • custom_status: the custom status set for the order (if any)
  • scheduled: the scheduled date for the workflow (if any)
  • priority: the order priority
  • started: the date/time the workflow order was created
  • completed: the date/time the workflow order got a OMQ::StatComplete status
  • modified: the last modified date/time
  • archive: the archive flag for the workflow order instance (presented only if it goes from archive datasource)
  • LastModified: the last modified date of the workflow order instance

◆ getWFIOrderInfo()

*hash QorusSystemService::getWFIOrderInfo ( softint  workflowInstanceID,
*softdate  lastModifiedDate,
softbool  compat = True,
softbool  with_sensitive_data = False 
)
inline

Retrieves workflow instances order info (params: workflowInstanceID, [lastModifiedDate]; output hash keys: OrderInfo, LastModified.

Exceptions
SENSITIVE-DATA-ERRORthis exception is thrown when with_sensitive_data is True and the request is received over an insecure connection
AUTHORIZATION-ERRORthis exception is thrown when with_sensitive_data is True and the user has neither OMQ::QR_READ_SENSITIVE_DATA or OMQ::QR_SENSITIVE_DATA_CONTROL
Since
Qorus 3.1.1 this API supports retrieving sensitive data over internal and encrypted connections by authorized users

◆ getWorkflowInstances() [1/2]

list QorusSystemService::getWorkflowInstances ( *softlist  wfids,
*list  statuses,
*softdate  modified,
softint  rownum = OptionHelper::getOption("row-limit"),
*int  offset,
*softlist  sort,
*softlist  wfiids,
*softbool  desc,
*date  minstarted,
*date  maxstarted 
)
inline

gets a list of workflow instance ids; this is the safe and preferred variant of this method

This is the preferred variant of this method, using safe SQL handling; oview uses this variant

Parameters
wfidsa list of WF ids (or names) or NOTHING
statusesa list with requested statuses in expanded form ('ERROR') or NOTHING
modifieda limit (>=) for MODIFIED columnn or NOTHING
rownumlimit for max rows
offsetthe starting row
sortthe sorting key for SQL "order by"
wfiidszero or more workflow_instanceids to use to filter the results
descsort the results descending
minstartedthe minstarted date
maxstartedthe maxstarted date

◆ getWorkflowInstances() [2/2]

deprecated list QorusSystemService::getWorkflowInstances ( softint  workflowid,
*string  condition,
int  rownum = OptionHelper::getOption("row-limit") 
)
inline

gets a list of workflow instance ids, params: workflowid, condition, number of rows (100 default)

Parameters
workflowida WF id or 0
conditiona string with any SQL condition used in WHERE clause
rownumlimit for max rows
Deprecated:
use the variant taking a workflow ID list instead

◆ getWorkflowListFromWorkflowKey()

*list QorusSystemService::getWorkflowListFromWorkflowKey ( string  workflow,
softstring  key,
softstring  value 
)
inline

returns order instance info from the workflow name, key, and value

Returns
NOTHING if there is no match or a list of hashes with the following keys:
  • workflowid
  • workflow_instanceid

◆ getWorkflowMetadata()

deprecated *hash QorusSystemService::getWorkflowMetadata ( )
inline

gets workflow metadata (optional params: list of IDs), returns: hash of workflow metadata keyed by name and then version: COMPAT VERSION with fake flow information (removed in Qorus v2); use getWorkflowMetadata2() instead

Deprecated:
use getWorkflowMetadata2() instead

◆ getWorkflowMetadata2()

*hash QorusSystemService::getWorkflowMetadata2 ( )
inline

gets workflow metadata (optional params: list of IDs), returns: hash of workflow metadata keyed by name and then version

Returns
NOTHING if the workflowids are not valid, otherwise a hash keyed by workflow name where the values are hases keyed by workflow version with values as hashes of workflow information having the following keys:
  • workflowid: the id of the workflow
  • patch: the "patch" value of the workflow
  • description: the description of the workflow
  • errorfunction_instanceid: id of the Workflow Error Function
  • attach_func_instanceid: id of the Attach Function
  • onetimeinit_func_instanceid: id of the OneTimeInit Function
  • created: the date/time the workflow was created in the DB
  • modified: the date/time the workflow was last modified in the DB
  • keylist: either NOTHING or a list of valid workflow order keys
  • steps: a list of step hashes defining the steps in the workflow; each step hash will have the following keys:
  • stepid: the stepid of the step
  • steptype: type of the step (see Step Types for possible values)
  • arraytype: array attribute of the step (see Step Array Attribute Values for possible values)
  • name: name of the step
  • version: version of the step
  • [patch]: the "patch" value of the step
  • description: description of the step
  • stepfunction_instanceid: id of the Primary Step Function
  • [validationfunction_instanceid]: id of the Validation Step Function
  • [endfunction_instanceid]: id of the Asynchronous Back-End Step Function for asynchronous steps
  • [arrayfunction_instanceid]: id of the Array Function for array steps
  • [queueid]: id of the asynchronous queue for asynchronous steps
  • created: the date/time the step was created in the DB
  • modified: the date/time the step was last modified in the DB
  • [event]: a hash of event information (present if the steptype = OMQ::ExecEvent):
    • name: name of the event type
    • desc: description of the event type
    • typeid: the event type ID
  • step_dependencies: a list of hashes of step dependencies with the following keys:
  • stepid: the stepid of the step
  • dependson_stepid: the stepid of the step that the step depends on (note that if a hash has stepid = dependson_stepid, then the step has no dependencies)
  • workflow_segments: a list of hashes of segment dependencies with the following keys:
  • segmentid: the segmentid of the segment
  • dependson_segmentid: the segnentid of the segment that the segment depends on (note that if a hash has segmentid = dependson_segmentid, then the segment has no dependencies)
  • segments: a hash of segments where the keys are segmentids and the values are step dependency lists within that segment; the step dependency list elements are hashes with the following keys:
  • stepid: the stepid of the step
  • dependson_stepid: the stepid of the step that the step depends on (note that if a hash has stepid = dependson_stepid, then the step has no dependencies within the given segment)
  • options: a hash of options where the keys are the option names, and the values are the option descriptions
  • lib: a hash keyed by library object type (key values: "functions", "classes", "constants"); the value of each key will be a list of hashes with the following keys (empty lists mean no objects of that type are listed as library objects of the workflow):
  • name: the name of the library object
  • version: the version of the library object
  • id: the ID of the library object (referencing the tables, FUNCTION_INSTANCE, CLASSES, or CONSTANTS)
  • groups: a list of RBAC group names that this service is a member of
Exceptions
WORKFLOW-ACCESS-ERRORthis is exeption is thrown when Role Based Access Control is enabled; the call is made from the network, and the user does not have the right to access the given workflow
Note
if this method is called externally, and the user has a limited list of accessible workflows, then only information about the workflows the user can access is returned; if the user requests a particular workflow and does not have access to that workflow, then a WORKFLOW-ACCESS-ERROR exception is raised

◆ getWorkflowMetadataFromName()

*hash QorusSystemService::getWorkflowMetadataFromName ( string  name,
*string  ver 
)
inline

gets workflow metadata from name and version (params: name, optional: version), returns: hash of workflow metadata keyed by name and then version: COMPAT VERSION with fake flow information; use getWorkflowMetadataFromName2() instead

Deprecated:
use getWorkflowMetadataFromName2() instead
Exceptions
WORKFLOW-ACCESS-ERRORthis is exeption is thrown when Role Based Access Control is enabled; the call is made from the network, and the user does not have the right to access the given workflow
Note
if this method is called externally, and the user has a limited list of accessible workflows, then only information about the workflows the user can access is returned; if the user requests a particular workflow and does not have access to that workflow, then a WORKFLOW-ACCESS-ERROR exception is raised

◆ getWorkflowMetadataFromName2()

*hash QorusSystemService::getWorkflowMetadataFromName2 ( string  name,
*string  ver 
)
inline

gets workflow metadata from name and version (params: name, optional: version), returns: hash of workflow metadata keyed by name and then version, new version without flows (removed in Qorus v2)

Parameters
namethe name of the workflow
verthe optional version of the workflow to return
Returns
see getWorkflowMetadata2() for the definition of the hash returned
Exceptions
WORKFLOW-ACCESS-ERRORthis is exeption is thrown when Role Based Access Control is enabled; the call is made from the network, and the user does not have the right to access the given workflow
Note
if this method is called externally, and the user has a limited list of accessible workflows, then only information about the workflows the user can access is returned; if the user requests a particular workflow and does not have access to that workflow, then a WORKFLOW-ACCESS-ERROR exception is raised

◆ getWorkflowOverview()

static *hash<auto> QorusSystemService::getWorkflowOverview ( softdate  date = now() - 1D,
*softlist  wfids,
softbool  useSqlCache = True,
softbool  with_deprecated = True 
)
inlinestatic

gets workflow overview, params: [date, [workflowids]]: If no date is given, default = last 24 hours

Exceptions
PARAMETER-ERRORthe date passed was not valid
Parameters
dateoptional, order instance modified threshold. Items modified in last day are used if it's not given.
wfidsoptional, list of workflow IDs (not order instances) to be used in search criteria
useSqlCacheoptional, default True. Unused/deprecated.
with_deprecatedif False then no workflows with the deprecated flag set are returned
Returns
hash or nothing - grouped information about workflow statuses

◆ getWorkflowOverviewFromName()

static *hash QorusSystemService::getWorkflowOverviewFromName ( softdate  date = now() - 1D,
*string  name,
*string  version,
softbool  useSqlCache = True,
softbool  with_deprecated = True 
)
inlinestatic

gets workflow overview, params: [date, [name, [version]]]: If no date is given, default = last 24 hours

Exceptions
PARAMETER-ERRORthe date passed was not valid
Parameters
dateoptional, order instance modified threshold. Items modified in last day are used if it's not given.
nameoptional workflow name to be used in search criteria
versionoptional workflow version to be used in search criteria
useSqlCacheoptional, default True. Unused/deprecated.
with_deprecatedif False then no workflows with the deprecated flag set are returned
Returns
hash or nothing - grouped information about workflow statuses

◆ getWorkflowProcessingSummary()

static *list QorusSystemService::getWorkflowProcessingSummary ( hash  h)
inlinestatic

returns a summary of workflow processing for the given time period and optional workflow ID(s)

Parameters
ha hash with the following keys:
  • mindate: (required) the minimum date/time for the processing summary
  • maxdate: (optional) the maximum date/time for the processing summary
  • wfids: (optional) one or more workflowids for the processing summary
  • seconds: (optional) if True then the performance values will be returned in integers representing seconds
  • grouping: (optional) possible values for reporting performance statistics:
  • "hourly": hourly grouping
  • "daily": daily grouping
  • "monthly": monthly grouping
  • "yearly": yearly grouping
  • global: (optional) if True then all workflows will be combined into an overall processing report, if False then each workflow gets a separate line in the output

◆ getWorkflowStatus()

static deprecated *hash QorusSystemService::getWorkflowStatus ( softint  id)
inlinestatic

returns workflow instance status from workflow_instanceid: COMPAT VERSION with fake flow and flow_instance information (removed in Qorus v2); use getWorkflowStatus2() instead

Parameters
idthe workflow_instanceid
Deprecated:
use getWorkflowStatus2() instead

◆ getWorkflowStatus2()

static *hash QorusSystemService::getWorkflowStatus2 ( softstring  wfiid)
inlinestatic

returns workflow order data instance status from the workflow_instanceid

This method will retrieve information directly from the internal server cache if possible, otherwise data is retrieved from the database

Parameters
wfiidthe workflow_instanceid
Returns
NOTHING if the workflow_instanceid is not valid, otherwise a hash with the following keys:
  • name: the name of the workflow (metadata)
  • version: the version of the workflow (metadata)
  • workflow_instanceid: the instance id of the workflow order data instance
  • workflowstatus: the status of the workflow (see Workflow, Segment, and Step Status Descriptions for possible values)
  • workflowid: the id of the workflow (metadata)
  • status_sessionid: either 0 (meaning no Qorus application instance 'owns' the data) or the application sessionid that 'owns' the workflow order data instance (see Application Session Model)
  • parent_workflow_instanceid: the parent workflow_instanceid if the workflow order data instance is a subworkflow instance
  • started: the date/time the workflow order data instance was originally created
  • completed: the date/time the workflow order data instance received status OMQ::StatComplete
  • custom_status: the custom status for the workflow order data instance, if any
  • custom_status_desc: the description for the custom status for the workflow order data instance, if any
  • scheduled: the date/time the order is scheduled for future execution, if any
  • priority: the priority of the order
  • segment_instance: a list of hashes for each segment with the following keys:
  • segmentid: the segment ID
  • segmentstatus: the status of the segment (see Workflow, Segment, and Step Status Descriptions for possible values)
  • created: date/time the segment was created
  • modified: date/time the segment was last modified
  • steps: a list of stepids in the segment
  • step_instance: a hash keyed by stepid of steps in the workflow; each step hash value will have the following keys:
  • name: name of the step (step metadata)
  • version: version of the step (step metadata)
  • steptype: type of the step (step metadata, see Step Types for possible values)
  • arraytype: array attribute of the step (step metadata, see Step Array Attribute Values for possible values)
  • stepid: id of the step (step metadata)
  • stepstatus: status of the step (see Workflow, Segment, and Step Status Descriptions for possible values); note that for array steps with more than 1 element, this will be a composite status according to OMQ::StatusOrder)
  • started: date/time the step was first created in the DB
  • completed: date/time the step got status OMQ::StatComplete
  • custom_status: the custom status for the step, if any
  • custom_status_desc: the description for the custom status for the step, if any
  • [event]: only present for event steps; if present, this will be a hash with the following keys:
    • name: the event type name
    • desc: the event type description
    • typeid: the event type id
    • [key]: if not an arraystep, the event key will be present here
  • [subworkflow_instanceid]: only present for subworkflow steps: the workflow_instanceid of the subworkflow bound to the step
  • [subworkflowstatus]: only present for subworkflow steps: the status of the subworkflow instance bound to the step
  • [substeps]: only present for array steps; if present, this will be a list of hashes with the following keys:
    • stepid: same as the stepid in the parent data structure
    • ind: the step index number
    • stepstatus: the status of the step (see Workflow, Segment, and Step Status Descriptions for possible values)
    • started: date/time the step was first created in the DB
    • completed: date/time the step got status OMQ::StatComplete
    • eventkey: the eventkey bound to the step, if any
    • custom_status: the custom status for the step, if any
    • custom_status_desc: the description for the custom status for the step, if any
  • errors: a list of hashes with the following keys for errors raised while processing the workflow order data instance
  • stepid: the stepid of the step that created the error
  • ind: the index of the step
  • severity: severity of the error: Error Severity Codes
  • error: the error code
  • description: description of the error
  • info: information about the error
  • business_error: True if the error is a business error, False if not
  • created: the date/time the error was raised
  • workflow_instanceid: the same as the workflow_instanceid of the parent data structure
Exceptions
WORKFLOW-ACCESS-ERRORthis is exeption is thrown when Role Based Access Control is enabled; the call is made from the network, and the user does not have the right to access the given workflow

◆ getWorkflowSummaryOverview()

static *list QorusSystemService::getWorkflowSummaryOverview ( softdate  date = now() - 1D,
softbool  useSqlCache = True,
softbool  with_deprecated = True 
)
inlinestatic

gets system overview, params: [date]: If no date is given, default = last 24 hours

Exceptions
PARAMETER-ERRORthe date passed was not valid
Parameters
dateoptional, order instance modified threshold. Items modified in last day are used if it's not given.
useSqlCacheoptional, default True. Unused/deprecated.
with_deprecatedif False then no workflows with the deprecated flag set are returned
Returns
hash or nothing - summary workflow status information

◆ hstat_file()

*hash QorusSystemService::hstat_file ( string  path)
inlineprivate:internal

runs Qore::hstat() on a file target and returns the result

Parameters
paththe path of the file to stat
Returns
NOTHING or a StatInfo file status value hashes for the path argument
See also
Qore::hstat()

◆ hstat_file_conn()

*hash QorusSystemService::hstat_file_conn ( string  conn,
string  path 
)
inlineprivate:internal

runs Qore::hstat() on a file target and returns the result

Parameters
conna user connection; must be a filesystem connection
paththe path of the file to stat
Returns
NOTHING or a StatInfo file status value hashes for the path argument
Exceptions
CONNECTION-ERRORthe given connection is not known
FS-USER-CONNECTION-ERRORthe given connection is not a filesystem connection
See also
Qore::hstat()

◆ ls()

list QorusSystemService::ls ( string  path,
*string  regex,
*softint  reopts,
*string  encoding 
)
inlineprivate:internal

lists files in the given directory

Parameters
paththe path to list
regexan optional regex to filter the results
reoptsoption regular expression options; see Regular Expression Constants for possible values
encodingthe encoding of the filesystem string data
Returns
a list of StatInfo file status value hashes for each matched file plus a "name" key with the file or directory name and optionally a "link" key for symbolic link targets
Exceptions
DIR-ERRORdirectory does not exist

◆ ls_conn()

list QorusSystemService::ls_conn ( string  conn,
*string  path,
*string  regex,
*softint  reopts,
*string  encoding 
)
inlineprivate:internal

lists files in the given directory

Parameters
connan user connection name
paththe path to list, relative to conn. It can be empty, then the toplevel connection directory is listed.
regexan optional regex to filter the results
reoptsoption regular expression options; see Regular Expression Constants for possible values
encodingthe encoding of the filesystem string data
Returns
a list of StatInfo file status value hashes for each matched file plus a "name" key with the file or directory name and optionally a "link" key for symbolic link targets
Exceptions
CONNECTION-ERRORthe given connection is not known
DIR-ERRORdirectory does not exist
FS-USER-CONNECTION-ERRORthe given connection is not a filesystem connection

◆ rename()

nothing QorusSystemService::rename ( string  source,
string  target,
softbool  man = False 
)
inlineprivate:internal

rename/move a file

Parameters
sourcethe source path
targetthe target path
manrename the file manually by copying the file's data and then deleting the source file, this is sometimes necessary on some OSes when renaming files across filesystem boundaries

If any errors occur, an exception is thrown

Exceptions
RENAME-ERRORcannot stat() source file

◆ rename_conn()

nothing QorusSystemService::rename_conn ( string  conn_src,
string  source,
string  conn_tgt,
string  target,
softbool  man = False 
)
inlineprivate:internal

rename/move a file

Parameters
conn_srcthe source user connection name
sourcethe source path, relative to conn_src
conn_tgtthe target user connection name
targetthe target path, relative to conn_tgt
manrename the file manually by copying the file's data and then deleting the source file, this is sometimes necessary on some OSes when renaming files across filesystem boundaries

If any errors occur, an exception is thrown

Exceptions
CONNECTION-ERRORthe given connection is not known
FS-USER-CONNECTION-ERRORthe given connection is not a filesystem connection
RENAME-ERRORcannot stat() source file

◆ searchEvents()

list QorusSystemService::searchEvents ( *hash  h)
inline

returns workflow synchronization event information

Parameters
ha hash with the following optional keys:
  • "desc": return in descending order
  • "eventkey": the event key name
  • "eventname": the event type name
  • "id": one or more event type IDs
  • "limit": max number of rows to return, if not given, then the value of the "row-limit" option is used (default: 100)
  • "maxmodified": maximum modified date
  • "modified": minimum modified date
  • "offset": row offset
  • "posted": the event posted status
  • "sort": columns for sorting the results
Since
Qorus 3.1.0

◆ searchOrderKeys()

*list<auto> QorusSystemService::searchOrderKeys ( hash  params)
inline

returns a list of workflow instance info matching the input criteria

Parameters
paramsa hash with one or more of the following keys:
  • keyname: one or more key names, in case a single value is given and it contains an '%' character, the SQL like operator is used; this option cannot be used with the orderkeys option
  • mindate: the minimum creation date for the key (inclusive: ">=")
  • maxdate: the maximum creation date for the key (exclusive: "<")
  • limit: the maximum number of rows to return
  • offset: the offset row number to start returning values
  • orderby: one or more column names to order the return values by
  • orderkeys: a hash of key names to key values to be combined with OR logic; this option cannot be used with the keyname or value options
  • value: the value of the key to find, in case a single value is given and it contains an '%' character, the SQL like operator is used; this option cannot be used with the orderkeys option
  • workflowid: one or more workflowids
  • workflowname: all accessible versions of the given workflow name
  • workflowstatus: one or more workflow order status values
Returns
NOTHING if no rows match or a list of hashes with the following keys:
  • workflow_instanceid: the workflow order instance ID
  • workflowid: the workflow ID
  • name: the name of the workflow
  • version: the version of the workflow
  • workflowstatus: the status of the workflow order instance
  • started: the start date/time of the workflow order instance
  • completed: the completed date/time for the workflow order instance
  • modified: the last modified date/time of the workflow order instance
  • synchronous: the synchronous flag for the workflow order instance
  • business_error: the business error flag for the workflow order instance
  • archive: the archive flag for the workflow order instance (presented only if it goes from archive datasource)
  • operator_lock: the username of the user owning the lock on the workflow order instance data
  • note_count: the number of notes attached to the workflow order instance
  • warning_count: the warning count of the workflow order instance
  • error_count: the error count of the workflow order instance
  • custom_status: any custom status for the workflow order instance
  • priority: the priority of the workflow order instance
  • scheduled: the scheduled date for the workflow order instance
  • keyname: the order key name
  • value: the order key value
  • created: the date/time the order key was created
Exceptions
SEARCH-ORDER-KEYS-ERRORthrown if the orderkeys options and one of both of the keyname or value options are used in the same call
Since
Qorus 3.1.1 added support for the orderkeys and workflowname options

◆ searchReleases()

*list QorusSystemService::searchReleases ( *hash  params)
inline

returns release info

Parameters
paramssearch parameters with the following optional keys:
  • component: the component name to search for (implies with_files = True and with_components = True)
  • component_maxdate: give the upper date range for the release search for component (implies with_files = True and with_components = True)
  • component_mindate: give the lower date range for the release search for component (implies with_files = True and with_components = True)
  • file_maxdate: give the upper date range for the release search for files (implies with_files = True)
  • file_mindate: give the lower date range for the release search for files (implies with_files = True)
  • file_name: the file name to search for; note that this is used with the SQL like operator (implies with_files = True)
  • limit: the maximum number of releases to return
  • maxdate: give the upper date range for the release search
  • mindate: give the lower date range for the release search
  • offset: the starting release to return (use when paging for example)
  • with_components: if True then file components are included (implies with_files = True)
  • with_files: if True then release files are included

◆ searchSessions()

*list QorusSystemService::searchSessions ( *hash  params)
inline

returns information about application sessions

Parameters
paramssearch parameters with the following optional keys:
  • ended_maxdate: give the upper date range for the session end date
  • ended_mindate: give the lower date range for the session end date
  • hostname: the hostname to search for
  • id: the session ID
  • key: the instance key name
  • limit: the maximum number of releases to return
  • started_maxdate: give the upper date range for the session start date
  • started_mindate: give the lower date range for the session start date
  • offset: the starting release to return (use when paging for example)
  • status: one or more session status values
  • url: the HTTP URL for the instance
  • version: the Qorus version string

◆ searchSlaEvents()

list<hash<SlaEventInfo> > QorusSystemService::searchSlaEvents ( *hash  h)
inline

searches for SLA events according to the given criteria and returns a list of results

Parameters
ha hash of search criteria with the following optional keys:
  • desc: return the results in descending order
  • err: the error string of unsucessful SLA events; can be a list of strings or a string with "%" characters for SQL like matching
  • errdesc: the error description string of unsucessful SLA events; can be a list of strings or a string with "%" characters for SQL like matching
  • name: the name of the SLA; can be a list of names or a string with "%" characters for SQL like matching
  • limit: max number of rows to return, if not given, then the value of the "row-limit" option is used (default: 100)
  • mindate: minimum SLA event timestamp (inclusive, meaning ">=" comparisons used)
  • maxdate: maximum SLA event timestamp (exclusive, meaning "<" comparisons used)
  • offset: row offset
  • producer: the producer string of SLA events; can be a list of strings or a string with "%" characters for SQL like matching
  • slaid: the SLA ID, can be a list of IDs
  • sort: columns for sorting the results
  • success: filter for sucessful calls (1) or errored calls (0)
Returns
an empty list if no events are matched, otherwise a list of OMQ::SlaEventInfo hashes
Since
Qorus 3.1.1

◆ searchWorkflowErrors()

softlist QorusSystemService::searchWorkflowErrors ( hash  h)
inline

returns a list of matching errors for the input criteria

Parameters
ha hash with the following keys:
  • orderby: one or more field names for sorting the output
  • error: the error text to search (can also include '%' characters for use with the LIKE operator; in this case only 1 value can be given)
  • description: the description text to search (can also include '%' characters for use with the LIKE operator; in this case only 1 value can be given)
  • info: the info text to search (can also include '%' characters for use with the LIKE operator; in this case only 1 value can be given
  • stepid: limit the search to one or more stepids
  • severity: limit the search to one or more severity values
  • name: limit the search to one or more step names
  • version: limit the search to one or more step versions
  • retry: limit the search to errors with or without the retry flag
  • business_error: limit the search to errors with or without the business_error flag
  • workflow_instanceid: limit the search to one or more workflow_instanceids
  • error_instanceid: mit the search to one or more error_instanceids
  • mindate: give the lower date range for the error search
  • maxdate: give the upper date range for the error search
  • workflowid: limit the search to one or more workflowids
  • workflowstatus: limit the search to workflow instances with the given status value(s)
  • limit: the maximum number of errors to return; note that if this parameter is not given then the row-limit option is assumed
  • offset: the starting error to return (use when paging for example)
Returns
NOTHING if no rows match or a list of hashes with the following keys:
  • name: the workflow name
  • version: the workflow version
  • workflow_instanceid: the workflow order instance ID
  • workflowid: the workflow ID
  • stepid: the stepid of the step where the error was raised (could be NULL if the error was not raised in a workflow step)
  • stepname: the step name of the step where the error was raised (could be NULL if the error was not raised in a workflow step)
  • stepversion: the step version of the step where the error was raised (could be NULL if the error was not raised in a workflow step)
  • ind: the step array index (starting from 0) of the step where the error was raised (could be NULL if the error was not raised in a workflow step)
  • workflowstatus: the status of the workflow order instance
  • started: the start date/time of the workflow order instance
  • completed: the completed date/time for the workflow order instance
  • parent_workflow_instanceid: the parent workflow_instanceid if the workflow is a child workflow order
  • custom_status: any custom status for the workflow order instance
  • priority: the priority of the workflow order instance
  • scheduled: the scheduled date for the workflow order instance
  • error_instanceid: the error ID
  • error: the error name
  • description: the error description
  • info: the error info string
  • severity: the severity of the error
  • created: the created date and time of the error
  • retry: indicates if the error will get a retry status
  • business_error: indicates if the error is a business error
  • archive: if retrieved from the archive datasource

◆ searchWorkflowInstances()

*list QorusSystemService::searchWorkflowInstances ( *hash  h)
inline

searches for workflow order instances according to a hash

Parameters
ha hash of search parameters with the following keys (all are optional):
  • keyname: the name of a search key to be used with the keyvalue value(s)
  • keyvalue: the value(s) of workflow order search key(s) to use (optionally used in conjunction with keyname)
  • workflowname: all accessible versions of the given workflow name
  • workflowid: workflowid values(s)
  • workflow_instanceid: workflow_instanceid values(s)
  • status: status value(s)
  • modified: minimum modified date
  • maxmodified: maximum modified date
  • minstarted: minimum start date
  • maxstarted: maximum start date
  • limit: max number of rows to return, if not given, then the value of the "row-limit" option is used (default: 100)
  • offset: row offset
  • sort: columns for sorting the results
  • desc: return in descending order
Returns
NOTHING if no rows match or a list of hashes with the following keys:
  • name: the name of the workflow
  • version: the version of the workflow
  • workflow_instanceid: the workflow order instance ID
  • workflowid: the workflow ID
  • workflowstatus: the status of the workflow order instance
  • status_sessionid: the application session ID that owns the workflow order instance data or 0 if the data is now owned by any application session
  • started: the start date/time of the workflow order instance
  • completed: the completed date/time for the workflow order instance
  • modified: the last modified date/time of the workflow order instance
  • parent_workflow_instanceid: the parent workflow_instanceid if the workflow is a child workflow order
  • synchronous: the synchronous flag for the workflow order instance
  • business_error: the business error flag for the workflow order instance
  • archive: the archive flag for the workflow order instance (presented only if it goes from archive datasource)
  • operator_lock: the username of the user owning the lock on the workflow order instance data
  • note_count: the number of notes attached to the workflow order instance
  • warning_count: the warning count of the workflow order instance
  • error_count: the error count of the workflow order instance
  • custom_status: any custom status for the workflow order instance
  • priority: the priority of the workflow order instance
  • scheduled: the scheduled date for the workflow order instance
  • archive: if retrieved from the archive datasource
Since
  • Qorus 3.0.2
  • the workflowname option was added in Qorus 3.1

◆ write_file()

nothing QorusSystemService::write_file ( string  path,
data  data,
int  mode = 0664,
*string  encoding 
)
inlineprivate:internal

writes the input data to the given location

Parameters
paththe path of the file to write
datathe file data to write
modethe file's creation mode
encodingthe encoding of the target file

◆ write_file_conn()

nothing QorusSystemService::write_file_conn ( string  conn,
string  path,
data  data,
int  mode = 0664,
*string  encoding 
)
inlineprivate:internal

writes the input data to the given location

Parameters
conna user connection
paththe path of the file to write, relative to conn
datathe file data to write
modethe file's creation mode
encodingthe encoding of the target file
Exceptions
CONNECTION-ERRORthe given connection is not known
FS-USER-CONNECTION-ERRORthe given connection is not a filesystem connection

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