Qorus Integration Engine®  4.1.4.p2_git
OMQ::UserApi::Job::JobApi Class Reference

primary job API class More...

Inheritance diagram for OMQ::UserApi::Job::JobApi:
OMQ::UserApi::UserApi

Static Public Member Methods

static err (string err, string desc_fmt)
 raises an error in a running job; does not affect the flow of execution in the job code More...
 
static errWithInfo (string err, softstring desc="", auto info, softstring severity=OMQ::ES_Major, softbool business=False)
 raises an error in a running job; does not affect the flow of execution in the job code More...
 
static warn (string err, string desc_fmt)
 raises a warning in a running job; does not affect the flow of execution in the job code More...
 
static warnWithInfo (string err, softstring desc="", auto info, softbool business=False)
 raises a warning in a running job; does not affect the flow of execution in the job code More...
 
static saveInfo (auto info)
 saves information against the job instance in the database More...
 
static hash< auto > getInfo ()
 returns a hash of job information about the current job More...
 
static saveStateData (hash< auto > data)
 serializes the given hash and stores against the job's state data in JOB_STATE_DATA More...
 
static *hash< auto > getStateData ()
 returns any job state data stored with saveStateData() More...
 
static savePersistentStateData (hash< auto > data)
 serializes the given hash and stores against the job's state data in JOB_PERSISTENT_STATE_DATA More...
 
static clearPersistentStateData ()
 clears the job's state data in JOB_PERSISTENT_STATE_DATA More...
 
static *hash< auto > getPersistentStateData ()
 returns any job state data stored with savePersistentStateData() More...
 
static bool setTrigger (date ts)
 sets a one-time custom trigger time for the job; returns True if set, False if ignored More...
 
static setOption (hash< auto > opts)
 Changes option values on a job. More...
 
static setOption (string option, auto value)
 Changes a single option value on a job. More...
 
static auto getOption ()
 Returns the value of the named job option(s) More...
 
static auto getOptionArgs (*softlist< string > args)
 Returns the value of the named job option or options. More...
 
static int sleep (softint arg)
 puts the current thread to sleep for a certain number of seconds More...
 
static int usleep (softint arg)
 puts the current thread to sleep for a certain number of microseconds More...
 
static int usleep (date arg)
 puts the current thread to sleep for a certain number of microseconds More...
 
static auto getConfigItemValue (string item, *hash< auto > local_context, bool expand_complex_values=True)
 returns the value of the given job configuration item More...
 
static hash< auto > getConfigItemHash (*hash< auto > local_context)
 returns a hash of all configuration items for the current job More...
 

Additional Inherited Members

- Static Private Member Methods inherited from OMQ::UserApi::UserApi
static SqlUtil::AbstractTable getSqlTable (string datasource, string table_name, bool register_dependency=True)
 get a cached table object (suitable for DML) if present, otherwise it creates one from scratch More...
 
static SqlUtil::AbstractTable getSqlTable (AbstractDatasource datasource, string table_name, bool register_dependency=True)
 get a cached table object (suitable for DML) if present, otherwise it creates one from scratch More...
 
static hash< auto > getSqlCacheInfo ()
 get information about cached object More...
 
static clearSqlTableCache (string datasource, *string table_name)
 clears all objects for given datasource from the cache (for example, if database objects have been updated in the dataserver) More...
 
static clearSqlTableCache (AbstractDatasource datasource, *string table_name)
 clears cached objects for given datasource (for example, if database objects have been updated in the dataserver) More...
 
static auto getValueMap (string mapname, string key)
 Gets a lookup value from the value map by a key; the value map must be registered to the current interface. More...
 
static list< auto > getValueMaps ()
 Gets all value maps valid for the current interface. More...
 
static bool postSlaEventSuccess (string sla, number value)
 posts a successful SLA event for SLA monitoring and performance tracking More...
 
static bool postSlaEventError (string sla, number value, string err, string desc)
 posts an unsuccessful SLA event for SLA monitoring and performance tracking More...
 
static flushSlaEvents ()
 flushes all pending SLA events to disk and returns after the data has been committed More...
 
static *hash< auto > getSystemServiceInfo (string name)
 returns information about the given system service (if it's currently loaded) More...
 
static *hash getServiceInfo (string type, string name)
 returns information about the given service (if it's currently loaded) More...
 
static list getRunningWorkflowList (*string name, *string ver)
 returns a list of hashes giving information about the currently-running workflow execution instances More...
 
static hash getRunningWorkflowInfo (softint id)
 returns a hash of the workflow execution instance info if the ID is valid or an empty hash if not More...
 
static softint createOrder (string name, *string version, hash params, string status=StatReady)
 creates a workflow order data instance in the database More...
 
static softint createRemoteOrder (string remote, string name, *string version, hash params, string status=StatReady, bool register_dependency=True)
 creates a workflow order data instance in a remote Qorus instance More...
 
static hash< auto > execSynchronousWorkflow (string name, *string version, hash sdata, *hash opts, *hash ddata, softint priority=DefaultOrderPriority, *hash orderkeys, *softstring external_order_instanceid, *softint parent_workflow_instanceid)
 executes a workflow order synchronously and returns the final status and order ID in a hash More...
 
static int postUserEvent (string severity, auto info)
 posts an application event of class QE_CLASS_USER More...
 
static hash runtimeProperties ()
 returns Qorus runtime properties as a hash More...
 
static auto callNetworkApiArgsWithAuthentication (string user, string pass, string call, softlist args)
 calls a system RPC API with authentication information (username and password) More...
 
static auto callNetworkApiArgs (string call, softlist args)
 calls a system RPC API with the argument list to the API method as a top-level argument to this method; the API is called with system permissions (no restrictions) More...
 
static auto callNetworkApi (string call)
 calls a system RPC API and returns the result; the API is called with system permissions (no restrictions) More...
 
static auto callRestApi (string method, string path, *hash< auto > body_args)
 calls a system REST API method and returns the result; the API is called with system permissions (no restrictions) More...
 
static auto callRestApiWithAuthentication (string user, string pass, string method, string path, *hash< auto > body_args)
 calls a system REST API method with authentication information (username and password) and returns the result More...
 
static hash< auto > getSystemInfo ()
 returns a hash of system info More...
 
static int getSessionId ()
 returns the current Qorus application session ID More...
 
- Private Attributes inherited from OMQ::UserApi::UserApi
const DataProviderRootValues
 data provider root path values
 

Detailed Description

primary job API class

Member Function Documentation

◆ clearPersistentStateData()

static OMQ::UserApi::Job::JobApi::clearPersistentStateData ( )
static

clears the job's state data in JOB_PERSISTENT_STATE_DATA

Note
unlike job state data, job persistent state data is stored persistently across job runs
See also
Since
Qorus 4.1.2

◆ err()

static OMQ::UserApi::Job::JobApi::err ( string  err,
string  desc_fmt 
)
static

raises an error in a running job; does not affect the flow of execution in the job code

the error information is stored in the job_errors table with a severity of OMQ::ES_Major and the business flag set to True

Parameters
errthe error code
desc_fmtthe format specifier for the warning description string; following arguments will be included in the description string as combined with vsprintf()
Since
Qorus 3.1.0
See also

◆ errWithInfo()

static OMQ::UserApi::Job::JobApi::errWithInfo ( string  err,
softstring  desc = "",
auto  info,
softstring  severity = OMQ::ES_Major,
softbool  business = False 
)
static

raises an error in a running job; does not affect the flow of execution in the job code

the error information is stored to the job_errors table, errors errors with a severity less than or equal to OMQ::ES_Warning are treated as warnings

Parameters
errthe error code
desca description for the error
infoadditional information to be saved with the error (data structures are serialized in YAML format and saved in the database)
severitythe severity of the error, errors with a severity less than or equal to OMQ::ES_Warning are treated as warnings; see Error Severity Codes for valid values (default = OMQ::ES_Major)
businessset to True if the error represents a business error
Note
If the severity is less than or equal to OMQ::ES_Warning, the job instance does not get an OMQ::JS_Error status
See also

◆ getConfigItemHash()

static hash<auto> OMQ::UserApi::Job::JobApi::getConfigItemHash ( *hash< auto >  local_context)
static

returns a hash of all configuration items for the current job

Example:
hash<auto> config = JobApi::getConfigItemHash();
Parameters
local_contextthe caller can supply its "local" context for template variables (plus user context info is added - see UserApi::getUserContextInfo() method)
Returns
a hash of all configuration items for the current job; keys are config item names; values are config item values. If there are no config items for the current job, then an empty hash is returned.
Note
if there are local configuration item values and values on global level, the local values will take precedence over the global values
values are always substituted with UserApi::expandTemplatedValue(); make sure and escape any "$" characters with a backslash ("\") to avoid template substitution
See also
Class-Based Job Configuration Items

◆ getConfigItemValue()

static auto OMQ::UserApi::Job::JobApi::getConfigItemValue ( string  item,
*hash< auto >  local_context,
bool  expand_complex_values = True 
)
static

returns the value of the given job configuration item

Example:
auto val = JobApi::getConfigItemValue(item);
Parameters
itemthe name of the job configuration item; job configuration item values take precedence over values on global level if both are set otherwise if both are not set the default value is returned
local_contextthe caller can supply its "local" context for template variables (plus user context info is added - see the UserApi::getUserContextInfo() method)
expand_complex_valuesif True then lists and hashes will have their string values expanded recursively
Returns
the value of the given configuration item
Note
values are always substituted with UserApi::expandTemplatedValue(); make sure and escape any "$" characters with a backslash ("\") to avoid template substitution
Exceptions
CONFIG-ITEM-ERRORthrown if the configuration item is not valid
Since
  • Qorus 4.1.1 added the expand_complex_values parameter
See also
Class-Based Job Configuration Items

◆ getInfo()

static hash<auto> OMQ::UserApi::Job::JobApi::getInfo ( )
static

returns a hash of job information about the current job

Returns
a hash with the following keys:
  • jobid: the metadata jobid of the job type
  • job_instanceid: the id of the job instance
  • name: the job name
  • version: the job version
  • description: the job description
  • trigger: a string describing the timer/trigger for the job
  • last_executed: the last executed date/time of the job (NOTHING if never executed before the current iteration)
  • last_executed_job_instanceid: the last executed instance id of the job
  • single_instance: True if the job can only be run in a single Qorus instance, False if no such restriction is enabled
  • next: the next trigger date/time
Note
the data returned here is different from the data stored by job_save_info()
See also

◆ getOption()

static auto OMQ::UserApi::Job::JobApi::getOption ( )
static

Returns the value of the named job option(s)

If the option is not set on the job level, and it is a valid system option, then the value of the system option will be returned.

Returns
the value requested directly if only one argument is passed, otherwise a hash of option keys and values; note that if no arguments are passed to the method all job-level options are returned as a hash
Note
Invalid options do not cause an errors to be raised; the associated key values in the hash returned will be NOTHING
See also

◆ getOptionArgs()

static auto OMQ::UserApi::Job::JobApi::getOptionArgs ( *softlist< string args)
static

Returns the value of the named job option or options.

If the option is not set on the job, and it is a valid system option, then the value of the system option will be returned.

Parameters
argsthe list of options to return
Returns
the value requested directly if only one argument is passed, otherwise a hash of option keys and values; note that if no arguments are passed to the method all job-level options are returned as a hash
Note
Invalid options do not cause an errors to be raised; the associated key values in the hash returned will be NOTHING
See also

◆ getPersistentStateData()

static *hash<auto> OMQ::UserApi::Job::JobApi::getPersistentStateData ( )
static

returns any job state data stored with savePersistentStateData()

Returns
any job state data stored with savePersistentStateData()
Note
unlike job state data, job persistent state data is stored persistently across job runs
See also
Since
Qorus 4.1.2

◆ getStateData()

static *hash<auto> OMQ::UserApi::Job::JobApi::getStateData ( )
static

returns any job state data stored with saveStateData()

Returns
any job state data stored with saveStateData()
Note
job state data is automatically cleared when a job instance gets a OMQ::StatComplete status
See also

◆ saveInfo()

static OMQ::UserApi::Job::JobApi::saveInfo ( auto  info)
static

saves information against the job instance in the database

The information is serialized in YAML format and saved in the database in the JOB_INSTANCE row as a part of the job results.

This information is returned in the API as the info key in REST Job Result Hash data, for example in the return value to the REST GET /api/latest/jobresults/{id} call.

Parameters
infothe information to save
Note
the data stored here is different from the data returned by job_info()
See also

◆ savePersistentStateData()

static OMQ::UserApi::Job::JobApi::savePersistentStateData ( hash< auto >  data)
static

serializes the given hash and stores against the job's state data in JOB_PERSISTENT_STATE_DATA

Parameters
datathe state data to serialize and store against the job's state data in JOB_PERSISTENT_STATE_DATA
Note
unlike job state data, job persistent state data is stored persistently across job runs
See also
Since
Qorus 4.1.2

◆ saveStateData()

static OMQ::UserApi::Job::JobApi::saveStateData ( hash< auto >  data)
static

serializes the given hash and stores against the job's state data in JOB_STATE_DATA

Parameters
datathe state data to serialize and store against the job's state data in JOB_STATE_DATA
Note
job state data is automatically cleared when a job instance gets a OMQ::StatComplete status
See also

◆ setOption() [1/2]

static OMQ::UserApi::Job::JobApi::setOption ( hash< auto >  opts)
static

Changes option values on a job.

If at least one invalid option is passed to the method, an exception will be raised; however all other valid options in the hash will be set before the exception is raised

Parameters
optsa hash of option-value pairs
Exceptions
JOB-OPTION-ERRORinvalid option name
See also

◆ setOption() [2/2]

static OMQ::UserApi::Job::JobApi::setOption ( string  option,
auto  value 
)
static

Changes a single option value on a job.

If an invalid option is passed to the method, an exception will be raised.

Parameters
optionthe option to set
valuethe value to set for the option
Exceptions
JOB-OPTION-ERRORinvalid option name
See also

◆ setTrigger()

static bool OMQ::UserApi::Job::JobApi::setTrigger ( date  ts)
static

sets a one-time custom trigger time for the job; returns True if set, False if ignored

Parameters
tsthe timestamp to trigger the job; must be in the future and before the next trigger time
Returns
True if set, False if ignored; the call will be ignored if the date/time value is in the past or after the next scheduled job trigger time
Note
when this API returns with a True return value, the job's custom trigger time has already been committed to the database
See also
job_set_trigger()

◆ sleep()

static int OMQ::UserApi::Job::JobApi::sleep ( softint  arg)
static

puts the current thread to sleep for a certain number of seconds

If the job is stopping, this method returns immediately with a return value of -1; otherwise the current thread is put to sleep for the full time period requested. If this method (or usleep()) is called again after -1 is returned, then a "STOP-ERROR" exception is thrown.

Parameters
argthe number of seconds to sleep
Returns
0 if current thread was put to sleep for the full time period; -1 if the sleep was interrupted because the current object is being stopped
Exceptions
STOP-ERRORthe current object is stopping and this method already returned -1 as a warning
See also

◆ usleep() [1/2]

static int OMQ::UserApi::Job::JobApi::usleep ( softint  arg)
static

puts the current thread to sleep for a certain number of microseconds

If the job is stopping, this method returns immediately with a return value of -1; otherwise the current thread is put to sleep for the full time period requested. If this method (or sleep()) is called again after -1 is returned, then a "STOP-ERROR" exception is thrown.

Parameters
argthe number of microseconds to sleep (1 microsecond = 1/1000000 of a second)
Returns
0 if current thread was put to sleep for the full time period; -1 if the sleep was interrupted because the current object is being stopped
Exceptions
STOP-ERRORthe current object is stopping and this method already returned -1 as a warning
See also

◆ usleep() [2/2]

static int OMQ::UserApi::Job::JobApi::usleep ( date  arg)
static

puts the current thread to sleep for a certain number of microseconds

If the job is stopping, this method returns immediately with a return value of -1; otherwise the current thread is put to sleep for the full time period requested. If this method (or sleep()) is called again after -1 is returned, then a "STOP-ERROR" exception is thrown.

Parameters
argthe amount of time in microseconds to sleep (1 microsecond = 1/1000000 of a second)
Returns
0 if current thread was put to sleep for the full time period; -1 if the sleep was interrupted because the current object is being stopped
Exceptions
STOP-ERRORthe current object is stopping and this method already returned -1 as a warning
See also

◆ warn()

static OMQ::UserApi::Job::JobApi::warn ( string  err,
string  desc_fmt 
)
static

raises a warning in a running job; does not affect the flow of execution in the job code

the warning information is stored to the job_errors table with a severity of OMQ::ES_Warning and the business flag set to True

Parameters
errthe warning or error code
desc_fmtthe format specifier for the warning description string; following arguments will be included in the description string as combined with vsprintf()
See also

◆ warnWithInfo()

static OMQ::UserApi::Job::JobApi::warnWithInfo ( string  err,
softstring  desc = "",
auto  info,
softbool  business = False 
)
static

raises a warning in a running job; does not affect the flow of execution in the job code

the warning information is stored to the job_errors table with a severity of OMQ::ES_Warning

Parameters
errthe warning or error code
desca description for the warning
infoadditional information to be saved with the warning (data structures are serialized in YAML format and saved in the database)
businessset to True if the warning represents a business warning
See also

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