Qorus Integration Engine®
4.0.3.p2_git
|
Each service's Program container is set up with the following imported objects:
In addition to the above, all public constants in the OMQ namespace are available.
The service class APIs are documented here:
For class-based services, the service's implementation class must inherit Service::QorusService (Qore) or service.QorusService (Java) directly. This means that Qore code can call the static methods defined in the base class directly.
For library classes and other service code, calls must be prefixed with the class name (also for all Java code as well).
Each Qorus service has a single Qore Program object containing all its code for service methods, as well as any library objects imported into the Program object (classes, constants, and functions listed as attributes of the service when the service is defined). Service Program objects are restricted from using elements of the Qore Language related to process and thread control; the use of these functions is either dangerous or could violate the integrity of the Qorus server process and therefore is restricted.
To enforce these restrictions, service Program objects are created with the following parse restrictions:
Directive | Constant | Description |
%no-top-level | Qore::PO_NO_TOP_LEVEL_STATEMENTS | No code is allowed in the top-level statement (outside a function or class) |
%no-thread-control | Qore::PO_NO_THREAD_CONTROL | Thread management functionality is unavailable |
%no-process-control | Qore::PO_NO_PROCESS_CONTROL | Functionality that affects the entire process is unavailable |
%require-our | Qore::PO_REQUIRE_OUR | All variables must be declared before use |
Please note that despite these restrictions, service program objects have most of the Qore language API and class library available for use.
Furthermore, the following parse defines are defined:
Define | Availability | Description |
Qorus | W , S , J | Identifies code in Qorus |
QorusHasAlerts | W , S , J | Marks the availability of the alert API (Qorus 3.0+) |
QorusHasHttpUserIndex | S | Marks the availability of OMQ::AbstractServiceHttpHandler::setUserIndexInfo() (Qorus 3.0+) |
QorusHasTableCache | W , S , J | Marks the availability of the table cache API (Qorus 3.1+) |
QorusHasUserConnections | W , S , J | Marks the availability of the connection API (Qorus 3.0+) |
QorusServer | W , S , J | Identifies code used in Qorus server interfaces |
QorusService | S | Identifies code used in a service Program container |
Services may declare global variables, but because the %no-top-level parse restriction is set for the Program object; they may not be initialized at the top level of the program.
Initialize them in the init() method instead; global variables may also be declared here if desired. Global variables may be declared anywhere in the Program object; they do not have to be declared at the top level of the service program.
The following APIs are imported into service program logic containers (see also OMQ::UserApi::Service):
The following classes are imported into service program logic containers:
Qore Class | Java Class | Availability | Description |
AbstractAuthenticator | n/a | S | Allows the service to define custom authentication handlers for external HTTP and FTP requests |
AbstractFsRemoteReceive | AbstractFsRemoteReceive | W , S , J | provides an API for streaming data from a remote filesystem through a remote Qorus instance |
AbstractFtpHandler | n/a | S | Allows the service to implement an FTP server and handle FTP requests from clients |
AbstractHttpRequestHandler | n/a | S | Allows the service to refer to AbstractHttpRequestHandler methods directly |
AbstractParallelStream | n/a | W , S , J | provides an abstract base class for streaming data to or from a remote database through a remote Qorus instance and also provides static helper methods |
AbstractPersistentDataHelper | n/a | S | Used when defining persistent HTTP connection support in services |
AbstractRestClass | n/a | S | Used when defining REST request handling in a service |
AbstractRestStreamRequestHandler | n/a | S | Allows the service to implement data stream handlers |
AbstractServiceStream | n/a | S | Used when defining custom stream handlers in a service |
AbstractServiceDataStreamResponseHandler | n/a | S | Used when defining custom stream handlers in a service |
AbstractServiceHttpHandler | n/a | S | Allows the Qorus HTTP server to redirect HTTP requests to a service |
AbstractServiceRestHandler | n/a | S | Allows the service to implement a REST handler and serve external REST requests |
AbstractServiceWebSocketHandler | n/a | S | Allows the service to implement a Web Socket service handler |
DbRemote | DbRemote | W , S , J | provides an API wrapper for all system.sqlutil service methods |
DbRemoteReceive | DbRemoteReceive | W , S , J | provides an API for streaming data from a remote database through a remote Qorus instance |
DbRemoteSend | DbRemoteSend | W , S , J | provides an API for streaming data to a remote database through a remote Qorus instance |
DefaultQorusRBACAuthenticator | n/a | S | the standard Qorus RBAC authentication class |
DefaultQorusRBACBasicAuthenticator | n/a | S | the standard Qorus RBAC authentication class that requests basic authentication with 401 Unauthorized responses |
FsRemote | FsRemote | W , S , J | provides an API wrapper for all system.fs service methods |
FsRemoteSend | FsRemoteSend | W , S , J | provides an API for streaming data to a remote filesystem through a remote Qorus instance |
PermissiveAuthenticator | n/a | S | Used to indiscriminately authenticate all requests in HTTP and FTP request handlers |
QorusExtensionHandler | n/a | S | Allows the service to extend the Qorus web UI |
QorusInboundTableMapper | InboundTableMapper | W , S , J | provides an API for mapping data to a DB table |
QorusInboundTableMapperIterator | n/a | W , S , J | provides an iterator-based API for mapping data to a DB table |
QorusRawSqlStatementOutboundMapper | RawSqlStatementOutboundMapper | W , S , J | provides an API for mapping from SQL statement using direct SQL statements passed in |
QorusRemoteServiceHelper | n/a | W , S , J | provides an API for calling service methods in remote Qorus instances |
QorusSqlStatementOutboundMapper | SqlStatementOutboundMapper | W , S , J | provides an API for mapping from SQL statement using SqlUtil |
QorusSystemAPIHelper | n/a | W , S , J | provides an API for calling RPC API methods in remote Qorus instances |
OMQ::QorusSystemRestHelper | QorusSystemRestHelper | W , S , J | provides an API for using the REST API in remote Qorus instances |
QorusWebSocketConnection | n/a | S | Used when defining web socket service handlers |
RestHandler | n/a | S | Allows the service to access RestHandler methods directly when servicing REST requests |
ServiceApi | ServiceApi | S | the primary service Qorus API class |
ServiceFileHandler | n/a | S | Allows services to implement HTTP file-based request handlers |
UserApi | UserApi | W , S , J | the primary shared Qorus API class |
The following modules are imported by default into service program logic containers:
Name | Availability | Description |
json | W , S , J | provides APIs for JSON data serialization and deserialization support |
Mime | W , S , J | provides MIME definitions and functionality |
Mapper | W , S , J | provides a data-mapping API |
SoapClient | W , S , J | provides a SOAP client API |
SqlUtil | W , S , J | provides high-level APIs for programmatic DML (SQL data manipulation), DDL (creating, querying, manipulating database definitions), and DBA operations |
TableMapper | W , S , J | provides high-level APIs for mapping data to and from database tables |
Util | W , S , J | provides utility APIs |
uuid | W , S , J | provides an API for generating UUIDs |
xml | W , S , J | provides APIs for parsing, validating, and generating XML documents |
yaml | W , S , J | provides APIs for Qore's YAML-based data serialization and deserialization support |
This section lists all of the API methods specific to services; the main service API classes are:
"svc_"
.Service logging APIs:
Qore Class | Java Class | Availability | Description |
ServiceApi::registerSoapHandler() | n/a | svc_register_soap_handler() | Registers the current service as a SOAP server |
Qore Class | Java Class | Availability | Description |
ServiceApi::bindHandler() | n/a | svc_bind_handler() | Binds a new HTTP handler to a dedicated HTTP service listener |
ServiceApi::bindHttp() | n/a | svc_bind_http() | Binds an HTTP handler to the service |
ServiceApi::uiExtensionRegister() | n/a | svc_ui_extension_register() | Registers the current service as a UI extension handler |
ServiceApi::getHttpCallContext() | ServiceApi.getHttpCallContext() | svc_get_http_call_context() | Returns a hash with info about the external HTTP call, if any |
Qore Class | Java Class | Availability | Description |
ServiceApi::bindFtp() | n/a | svc_bind_ftp() | Binds an FTP handler to the service and starts FTP listeners |
Qore Class | Java Class | Availability | Description |
ServiceApi::getLastEvents() | ServiceApi.getLastEvents() | svc_get_last_events() | Returns the last system events corresponding to the arguments |
ServiceApi::getLastEventsAnd() | ServiceApi.getLastEventsAnd() | svc_get_last_events_and() | Returns the last system events that meet all the criteria given |
ServiceApi::getLastEventsOr() | ServiceApi.getLastEventsOr() | svc_get_last_events_or() | Returns the last system events that meet any of the criteria given |
ServiceApi::waitForEvents() | ServiceApi.waitForEvents() | svc_wait_for_events() | Waits for system events corresponding to the arguments |
ServiceApi::waitForEventsAnd() | ServiceApi.waitForEventsAnd() | svc_wait_for_events_and() | Waits for system events that meet all the criteria given |
ServiceApi::waitForEventsOr() | ServiceApi.waitForEventsOr() | svc_wait_for_events_or() | Waits for system events that meet any of the criteria given |
Qore Class | Java Class | Availability | Description |
ServiceApi::callApiAsCurrentUser() | ServiceApi.callApiAsCurrentUser() | svc_call_api_as_current_user() | Calls a system RPC API as the current external user (if any) and returns the result |
Qore Class | Java Class | Availability | Description |
ServiceApi::startThread() | n/a | svc_start_thread() | Starts a service thread |
ServiceApi::startThreadArgs() | n/a | svc_start_thread_args() | Starts a service thread with the given arguments as a list argument |
id
(int): the unique event ID for the application session; the first event starts with 1 and increases serially with each eventtime
(date): the date and time the event was submitted with a resolution to the microsecondtimeus
(int): the microsecond value of the event (i.e. 0-999); this value is included separately because when the date and time are serialized through some protocols (such as XML-RPC), then microsecond value is lostclass
(int): the event class code of the eventclassstr
(string): the string designation corresponding to the event class code (see the keys of the OMQ::QE_RMAP_CLASS Constant Hash for possible values)event
(int): the event code for the eventeventstr
(string): the string designation corresponding to the event code (see the keys of the OMQ::QE_RMAP_EVENT Constant Hash for possible values)severity
(int): the severity level of the event; please note that all user events will have severity code 0 (OMQ::ES_Info). Values may be integers from -1 to 4 corresponding to the keys in the OMQ::ErrorSeverityMap hash.severitystr
(string): the string corresponding to the severity level; see the keys of the OMQ::ErrorSeverityOrder hash for possible values of this field.caller
(hash): a hash of caller information in case the event was trigger by or can be traced directly to an external callcompositeseverity
(int) the maximum of the system and user severity levels; in case there is no user severity level; then this field is always equal to the system severity level. Values may be integers from -1 to 4 corresponding to the keys in the OMQ::ErrorSeverityMap hash.compositeseveritystr
(string): the string corresponding to the composite severity level; see the keys of the OMQ::ErrorSeverityOrder hash for possible values of this fielduserseverity
(integer, optional): in case the event is a user event and a user severity level was supplied; this field contains the severity level of the user eventuserseveritystr
(string, optional): in case the event is a user event and a user severity level was supplied; this field contains the string corresponding to the user severity level; see the keys of the OMQ::ErrorSeverityOrder hash for possible values of this fieldinfo
(hash, optional): additional event-specific information; See Event Information Descriptions for details on each message; note that user events have user-defined information in this fieldThis section contains the definitions of the info hash of event types
Event constant: OMQ::QEC_SYSTEM_STARTUP
name:
(string) the product string for Qorus Integrtion Engineversion:
(string) the version stringbuild:
(string) the build stringEvent constant: OMQ::QEC_SYSTEM_HEALTH_CHANGED
health:
(string) one of "GREEN"
, "YELLOW"
, or "RED"
old-health
: (string) the old health value before the changeongoing:
(int) the number of ongoing alertstransient:
(int) the number of transient alerts in the cachecutoff:
(absolute date) the date time of the cutoff for transient alertsEvent constant: OMQ::QEC_SYSTEM_REMOTE_HEALTH_CHANGED
name:
(string) the name of the remote Qorus connectionhealth:
(string) one of "GREEN"
, "YELLOW"
, or "RED"
old-health
: (string) the old health value before the changeurl:
(string) the URL to the remote systemerror:
(string) an error stringEvent constant: OMQ::QEC_SYSTEM_ERROR
err:
(string) the error codedesc:
(string) the error descriptioninfo:
(string) additional information about the errorEvent constant: OMQ::QEC_SYSTEM_SHUTDOWN
Event constant: OMQ::QEC_WORKFLOW_START
name:
The name of the workflowversion:
The version of the workflowworkflowid:
The workflow ID (metadata ID, i.e. workflows.workflowid
in the database)execid:
The workflow execution IDmode:
The mode of the workflow (OMQ::WM_Normal or OMQ::WM_Recovery)synchronous:
True
for synchronous workflows, False
if notoptions:
A hash of workflow optionsEvent constant: OMQ::QEC_WORKFLOW_STOP
name:
The name of the workflowversion:
The version of the workflowworkflowid:
The workflow ID (metadata ID, i.e. workflows.workflowid
in the database)execid:
The workflow execution IDmode:
The mode of the workflow (OMQ::WM_Normal or OMQ::WM_Recovery))synchronous:
True
for synchronous workflows, False
if notEvent constant: OMQ::QEC_WORKFLOW_CACHE_RESET
name:
The name of the workflowversion:
The version of the workflowworkflowid:
The workflow ID (metadata ID, i.e. workflows.workflowid
in the database)Event constant: OMQ::QEC_WORKFLOW_DATA_SUBMITTED
name:
The name of the workflowversion:
The version of the workflowworkflowid:
The workflow ID (metadata ID, i.e. workflows.workflowid
in the database)workflow_instanceid:
The workflow instance ID (i.e. workflow_instance.workflow_instanceid in the database)status:
The new workflow order instance's initial status (see Workflow, Segment, and Step Status Descriptions for possible status values)Event constant: OMQ::QEC_WORKFLOW_INFO_CHANGED
name:
The name of the workflowversion:
The version of the workflowworkflowid:
The workflow ID (metadata ID, i.e. workflows.workflowid
in the database)workflow_instanceid:
The workflow instance ID (i.e. workflow_instance.workflow_instanceid in the database)info:
The info hash for the changeEvent constant: OMQ::QEC_WORKFLOW_STATUS_CHANGED
name:
The name of the workflowversion:
The version of the workflowworkflowid:
The workflow ID (metadata ID, i.e. workflows.workflowid
in the database)workflow_instanceid:
The workflow instance ID (i.e. workflow_instance.workflow_instanceid in the database)info:
A hash with old
and new
keys giving the old and new status values (see Workflow, Segment, and Step Status Descriptions for possible status values)Event constant: OMQ::QEC_WORKFLOW_DATA_ERROR
name:
The name of the workflowversion:
The version of the workflowworkflowid:
The workflow ID (metadata ID, i.e. workflows.workflowid
in the database)workflow_instanceid:
The workflow instance ID (i.e. workflow_instance.workflow_instanceid in the database)execid:
The workflow execution IDerror:
A hash of error information containing the following keys:err:
the error string (ex: exception name)desc:
the error description (ex: exception description)info:
any additional error information providedbusiness_error:
True
for business errors, False
if notstepid:
the stepid of the error, if anyind:
the ind code of the step (array index), if anyretry:
retry number for errorerrorid:
the error_instanceid in the databaseEvent constant: OMQ::QEC_WORKFLOW_DATA_RELEASED
name:
The name of the workflowversion:
The version of the workflowworkflowid:
The workflow ID (metadata ID, i.e. workflows.workflowid
in the database)workflow_instanceid:
The workflow instance ID (i.e. workflow_instance.workflow_instanceid
in the database)status:
The status of the workflow as it is releasedbusiness_error:
The business error status of the workflow (True
only if the status is OMQ::StatError due to a business error)Event constant: OMQ::QEC_WORKFLOW_DATA_CACHED
name:
The name of the workflowversion:
The version of the workflowworkflowid:
The workflow ID (metadata ID, i.e. workflows.workflowid
in the database)workflow_instanceid:
The workflow instance ID (i.e. workflow_instance.workflow_instanceid
in the database)status:
The status of the workflow as it is releasedbusiness_error:
The business error status of the workflow (True
only if the status is OMQ::StatError due to a business error)external_order_instanceid:
The external order instance ID of the workflow, if anykeys:
A hash of workflow order keys, if anyEvent constant: OMQ::QEC_WORKFLOW_DATA_UPDATED
name:
The name of the workflowversion:
The version of the workflowworkflowid:
The workflow ID (metadata ID, i.e. workflows.workflowid
in the database)workflow_instanceid:
The workflow instance ID (i.e. workflow_instance.workflow_instanceid
in the database)datatype:
Type of data updated: staticdata
or dynamicdata
Event constant: OMQ::QEC_WORKFLOW_DATA_LOCKED
name:
(string) The name of the workflowversion:
(string) The version of the workflowworkflowid:
(int) The workflow ID (metadata ID, i.e. workflows.workflowid
in the database)workflow_instanceid:
(int) The workflow instance ID (i.e. workflow_instance.workflow_instanceid
in the database)note:
(string) the note stored against the workflow order when locking itEvent constant: OMQ::QEC_WORKFLOW_DATA_UNLOCKED
name:
(string) The name of the workflowversion:
(string) The version of the workflowworkflowid:
(int) The workflow ID (metadata ID, i.e. workflows.workflowid
in the database)workflow_instanceid:
(int) The workflow instance ID (i.e. workflow_instance.workflow_instanceid
in the database)note:
(string) the note stored against the workflow order when unlocking itEvent constant: OMQ::QEC_WORKFLOW_PERFORMANCE
name:
(string) The name of the workflowversion:
(string) The version of the workflowworkflowid:
(int) The workflow ID (metadata ID, i.e. workflows.workflowid
in the database)workflow_instanceid:
(int) The workflow instance ID (i.e. workflow_instance.workflow_instanceid
in the database)status:
(string) the workflow order's statusdisposition:
(string) a code giving the disposition of the workflow; see Workflow Order Complete Disposition Constants for possible values and their meaningsstart:
(date) the start timestamp for workflow order executionend:
(date) the end timestamp for the workflow order execution (i.e. when the final status is reached)Event constant: OMQ::QEC_WORKFLOW_RECOVERED
name:
(string) The name of the workflowversion:
(string) The version of the workflowworkflowid:
(int) The workflow ID (metadata ID, i.e. workflows.workflowid
in the database)old_statuses:
(list<string>) a list of status values for orders that have been recovered and now have the status given by new_status new_status:
(string) a status value for recovered ordersEvent constant: OMQ::QEC_WORKFLOW_STATS_UPDATED
tag:
the tag or label identifying the bands; either "global"
for summarized global info or <id> where <id> is the workflow IDbands:
list of OrderSummaryOutputInfo hashesEvent constant: OMQ::QEC_WORKFLOW_STEP_DATA_UPDATED
name:
The name of the workflowversion:
The version of the workflowworkflowid:
The workflow ID (metadata ID, i.e. workflows.workflowid
in the database)workflow_instanceid:
The workflow instance ID (i.e. workflow_instance.workflow_instanceid
in the database)stepid:
The stepid for the data that was updatedind:
the step instance index for the data that was updatedEvent constant: OMQ::QEC_WORKFLOW_STEP_PERFORMANCE
name:
(string) The name of the workflowversion:
(string) The version of the workflowworkflowid:
(int) The workflow ID (metadata ID, i.e. workflows.workflowid
in the database)workflow_instanceid:
(int) The workflow instance ID (i.e. workflow_instance.workflow_instanceid
in the database)stepname:
(string) the name of the stepstepid:
(int) the ID of the stepind:
(int) the array index for the step (always 0 for non-array steps)start:
(date) the start timestamp for workflow step executionend:
(date) the end timestamp for the workflow step executionEvent constant: OMQ::QEC_WORKFLOW_UPDATED
name:
(string) The name of the workflowversion:
(string) The version of the workflowworkflowid:
(int) The workflow ID (metadata ID, i.e. workflows.workflowid
in the database)remote
]: (bool) the new remote valueautostart
]: (int) the new autostart valuesla_threshold
]: (int) the new SLA threshold valueEvent constant: OMQ::QEC_SERVICE_START
type:
The type of service; either USER or SYSTEMname:
The name of the serviceversion:
The version of the serviceserviceid:
The service ID (metadata ID, i.e. services.serviceid
in the database)Event constant: OMQ::QEC_SERVICE_STOP
type:
The type of service; either USER or SYSTEMname:
The name of the serviceversion:
The version of the serviceserviceid:
The service ID (metadata ID, i.e. services.serviceid
in the database)Event constant: OMQ::QEC_SERVICE_ERROR
type:
The type of service; either USER or SYSTEMname:
The name of the serviceversion:
The version of the serviceserviceid:
The service ID (metadata ID, i.e. services.serviceid
in the database)err:
The error code for the errordesc:
The error descriptioninfo:
Additional information for the error, if availableEvent constant: OMQ::QEC_SERVICE_AUTOSTART_CHANGE
Event constant: OMQ::QEC_SERVICE_METHOD_PERFORMANCE
type:
(string) the service type ("system"
or "user"
)name:
(string) the name of the serviceversion:
(string) the version of the serviceserviceid:
(int) the ID of the servicemethod:
(string) the name of the service method calledstart:
(date) the start timestamp for the callend:
(date) the end timestamp for the callerror:
(bool) an indicator if the call ended in an error or notEvent constant: OMQ::QEC_SERVICE_UPDATED
type:
(string) the service type ("system"
or "user"
)name:
(string) the name of the serviceversion:
(string) the version of the serviceserviceid:
(int) the ID of the serviceremote
]: (bool) the new remote valueautostart
]: (bool) the new autostart valueEvent constant: OMQ::QEC_JOB_START
name:
The name of the jobversion:
The version of the jobjobid:
The job ID (metadata ID, i.e. jobs.jobid
in the database)info:
Additional information about the job; a hash with the following keys:description:
the job's descriptionsingle_instance:
boolean flag, True
if the job can only be run on one instance at a time on the same schemarun_skipped:
boolean flag, True
if the job will be run immediately if its last trigger time was missed due to the system being downlast_executed:
date/time of last executionnext:
next trigger date/timetrigger:
a string describing the job's triggerEvent constant: OMQ::QEC_JOB_STOP
name:
The name of the jobversion:
The version of the jobjobid:
The job ID (metadata ID, i.e. jobs.jobid
in the database)Event constant: OMQ::QEC_JOB_INSTANCE_START
name:
The name of the jobversion:
The version of the jobjobid:
The job ID (metadata ID, i.e. jobs.jobid
in the database)job_instanceid:
The job instance ID (i.e. job_instance.job_instanceid
in the database)Event constant: OMQ::QEC_JOB_INSTANCE_STOP
name:
The name of the jobversion:
The version of the jobjobid:
The job ID (metadata ID, i.e. jobs.jobid
in the database)job_instanceid:
The job instance ID (i.e. job_instance.job_instanceid
in the database)status:
the job instance's final status in the database (see Job Data Status Codes for possible values)Event constant: OMQ::QEC_JOB_ERROR
name:
The name of the jobversion:
The version of the jobjobid:
The job ID (metadata ID, i.e. jobs.jobid
in the database)job_instanceid:
The job instance ID (i.e. job_instance.job_instanceid
in the database)error:
a hash of error information with the following keys:err:
the error codedesc:
the description of the errorinfo:
optional info about the errorbusiness_error:
boolean flag, True
if the error is a business errorerrorid:
the error instance id for the job (i.e. job_errors.job_errorid
in the database)Event constant: OMQ::QEC_JOB_RECOVERED
name:
(string) The name of the jobversion:
(string) The version of the jobjobid:
(int) The job ID (metadata ID, i.e. jobs.jobid
in the database)old_statuses:
(list<string>) a list of status values for orders that have been recovered and now have the status given by new_status new_status:
(string) a status value for recovered job instancesEvent constant: OMQ::QEC_JOB_UPDATED
name:
(string) The name of the jobversion:
(string) The version of the jobjobid:
(int) The job ID (metadata ID, i.e. jobs.jobid
in the database)remote
]: (bool) the new remote valuesched_txt
]: (string) the new schedule valuemonth
]: (string) the new month valueday
]: (string) the new day valuewday
]: (string) the new wday valuehour
]: (string) the new hour valueminute
]: (string) the new minute valueactive
]: (bool) the new active valueexpiry_date
]: (*date) the new expiry date or NOTHING if the expiry date has been clearedEvent constant: OMQ::QEC_CONFIG_ITEM_CHANGED
interfaceType:
(string) The type of the interface (job, service, step, workflow or global)type
]: (string) The type of the service if the interface type is "service"name:
(string) The name of the interfaceversion
]: (string) The version of the interface if is presentworkflowid
]: (int) The workflow ID (metadata ID, i.e. workflows.workflowid
in the database) if the interface type is "workflow" or "step"stepid
]: (int) The step ID (metadata ID, i.e. steps.stepid
in the database) if the interface type is "step"serviceid
]: (int) The service ID (metadata ID, i.e. services.serviceid
in the database) if the interface type is "service"jobid:
] (int) The job ID (metadata ID, i.e. jobs.jobid
in the database) if the interface type is "job"item:
(string) the name of the configuration itemvalue:
(any) the new value of the configuration itemEvent constant: OMQ::QEC_GROUP_STATUS_CHANGED
name:
the interface group's nameenabled:
the new status of the groupEvent constant: OMQ::QEC_ALERT_ONGOING_RAISED
type:
the alert typeid:
the ID of the object causing or related to the alertalert:
the string "name" of the alertreason:
the text giving the reason for the alertname:
the name of the object causing or related to the alertversion:
the version of the object causing or related to the alertEvent constant: OMQ::QEC_ALERT_ONGOING_CLEARED
type:
the alert typeid:
the ID of the object causing or related to the alertalert:
the string "name" of the alertreason:
the text giving the reason for the alertname:
the name of the object causing or related to the alertversion:
the version of the object causing or related to the alertEvent constant: OMQ::QEC_ALERT_TRANSIENT_RAISED
type:
the alert typeid:
the ID of the object causing or related to the alertalert:
the string "name" of the alertreason:
the text giving the reason for the alertname:
the name of the object causing or related to the alertversion:
the version of the object causing or related to the alertEvent constant: OMQ::QEC_CONNECTION_UP
type:
(string) the connection type name (one of "DATASOURCE"
, "REMOTE"
, or "USER-CONNECTION"
)name:
(string) the unique name for the connection in its typeEvent constant: OMQ::QEC_CONNECTION_DOWN
type:
(string) the connection type name (one of "DATASOURCE"
, "REMOTE"
, or "USER-CONNECTION"
)name:
(string) the unique name for the connection in its typeerr:
(string) the error stringEvent constant: OMQ::QEC_CONNECTION_ENABLED_CHANGE
type:
(string) the connection type name (one of "DATASOURCE"
, "REMOTE"
, or "USER-CONNECTION"
)name:
(string) the unique name for the connection in its typeenabled:
(bool) the enabled status for the connectionEvent constant: OMQ::QEC_CONNECTION_CREATED
conntype:
(string) the connection type name (one of "DATASOURCE"
, "REMOTE"
, or "USER-CONNECTION"
)name:
(string) the unique name for the connection in its typedesc:
(string) the description of the connectionurl:
(string) the URL for the connectionurl_hash:
(hash) a broken-down hash of url
opts:
(hash) connection optionsenabled:
(bool) the enabled status of the connectionEvent constant: OMQ::QEC_CONNECTION_UPDATED
conntype:
(string) the connection type name (one of "DATASOURCE"
, "REMOTE"
, or "USER-CONNECTION"
)name:
(string) the unique name for the connection in its typedesc:
(string) the description of the connectionurl:
(string) the URL for the connectionurl_hash:
(hash) a broken-down hash of url
opts:
(hash) connection optionsenabled:
(bool) the enabled status of the connectionEvent constant: OMQ::QEC_CONNECTION_DELETED
type:
(string) the connection type name (one of "DATASOURCE"
, "REMOTE"
, or "USER-CONNECTION"
)name:
(string) the unique name for the connection in its typeEvent constant: OMQ::QEC_CONNECTIONS_RELOADED
type:
(string) the connection type name (one of "DATASOURCE"
, "REMOTE"
, or "USER-CONNECTION"
)connections:
(list of hashes) list of connections reloadedEvent constant: OMQ::QEC_LOGGER_CREATED emitted when logger is created
loggerId:
(string) logger idinterface:
(string) type of related system (e.g. workflows, jobs, services, system, audit, http, ...)interfaceId:
(*string) interface id (not set for default loggers)params:
(hash) actual logger paramsisDefault:
(bool) true if created defaut loggerEvent constant: OMQ::QEC_LOGGER_UPDATED emitted when logger is updated
loggerId:
(string) logger idappenderIds:
(list) list of assigned appender ids (not set if no appenders assigned)interface:
(string) type of related system (e.g. workflows, jobs, services, system, audit, http, ...)interfaceId:
(*string) interface id (not set for default loggers)params:
(hash) actual logger paramsisDefault:
(bool) true if edited defaut loggerEvent constant: OMQ::QEC_LOGGER_DELETED emitted when logger is deleted
loggerId:
(string) logger idinterface:
(string) type of related system (e.g. workflows, jobs, services, system, audit, http, ...)interfaceId:
(*string) interface id (not set for default loggers)current_logger:
(hash) actual logger informationisDefault:
(bool) true if deleted defaut loggerEvent constant: OMQ::QEC_APPENDER_CREATED emitted when logger appender is created
loggerId:
(string) logger idlogger_appenderid:
(string) appender idinterface:
(string) type of related system (e.g. workflows, jobs, services, system, audit, http, ...)interfaceId:
(*string) if exists contains interface name (e.g. workflow/jobs/services name)params:
(hash) actual appender paramsisDefault:
(bool) true if created appender for defaut loggerEvent constant: OMQ::QEC_APPENDER_DELETED emitted when logger is created
logger_appenderid:
(string) appender idinterface:
(string) type of related system (e.g. workflows, jobs, services, system, audit, http, ...)interfaceId:
(*string) if exists contains interface name (e.g. workflow/jobs/services name)isDefault:
(bool) true if deleted appender from defaut loggerEvent constant: OMQ::QEC_APPENDER_UPDATED emitted when logger appender is updated
loggerId:
(string) logger idlogger_appenderid:
(string) appender idinterface:
(string) type of related system (e.g. workflows, jobs, services, system, audit, http, ...)interfaceId:
(*string) if exists contains interface name (e.g. workflow/jobs/services name)params:
(hash) actual appender paramsisDefault:
(bool) true if created appender for defaut loggerEvent constant: OMQ::QEC_PROCESS_STARTED
id:
(string) the unique name for the processnode:
(string) the node where the process is runningstatus:
(int) the process status code; 0 = IDLE, 1 = STARTING, 2 = RUNNING, 3 = STOPPING, 4 = ERRORurls:
(list<string>) a list of distributed queue URLs for the proceshost:
(string) the hostname of the node running the processpid:
(int) the PID of the process on the hosttype:
(string) the type of cluster processclient_id:
(string) the type-specific ID for the processstart_code:
(int) the start code or start reason: 0 = manual start, 1 = manual restart, 2 = automatic restartEvent constant: OMQ::QEC_PROCESS_START_ERROR
id:
(string) the unique name for the processnode:
(string) the node where the process is runningstatus:
(int) the process status code; 0 = IDLE, 1 = STARTING, 2 = RUNNING, 3 = STOPPING, 4 = ERRORurls:
(list<string>) a list of distributed queue URLs for the proceshost:
(string) the hostname of the node running the processpid:
(int) the PID of the process on the hosttype:
(string) the type of cluster processclient_id:
(string) the type-specific ID for the processerror:
(string) the error stringEvent constant: OMQ::QEC_PROCESS_STOPPED
id:
(string) the unique name for the processnode:
(string) the node where the process is runningstatus:
(int) the process status code; 0 = IDLE, 1 = STARTING, 2 = RUNNING, 3 = STOPPING, 4 = ERRORurls:
(list<string>) a list of distributed queue URLs for the proceshost:
(string) the hostname of the node running the processpid:
(int) the PID of the process on the hosttype:
(string) the type of cluster processclient_id:
(string) the type-specific ID for the processEvent constant: OMQ::QEC_PROCESS_MEMORY_CHANGED
id:
(string) the unique ID for the processnode:
(string) the node where the process is runningstatus:
(int) the process status code; 0 = IDLE, 1 = STARTING, 2 = RUNNING, 3 = STOPPING, 4 = ERRORurls:
(list<string>) a list of distributed queue URLs for the proceshost:
(string) the hostname of the node running the processpid:
(int) the PID of the process on the hosttype:
(string) the type of cluster processclient_id:
(string) the type-specific ID for the processpriv:
(int) the amount of private memory (stacks, heap, non-shared, non-memory-mapped virtual memory segments) for the process in bytesrss:
(int) the resident size of the process in bytesvsz:
(int) the virtual memory size of the process in bytes (includes shared and memory-mapped segments)pct:
(int) the percentage of main memory on the node used by private memorynode_priv:
(int) the amount of non-shared private memory used by the cluster on the node in bytesnode_priv_str:
(string) a descriptive string giving the amount of non-shared private memory used by the cluster on the current nodenode_ram:
(int) the total amount of physical RAM on the node in bytesnode_ram_str:
(string) a descriptive string giving the total amount of physical RAM on the nodenode_ram_in_use:
(int) the amount of physical RAM in use on the node in bytesnode_ram_in_use_str:
(string) a descriptive string giving the amount of physical RAM in use on the nodenode_cpu_count:
(int) the number of CPUs on the nodenode_load_pct:
(float) the average load on the machine over the last minuteEvent constant: OMQ::QEC_NODE_INFO
name:
(string) the name of the nodenode_priv:
(int) the amount of private memory used by Qorus processes for the instance on the nodenode_priv_str:
(string) a string corresponding to node_priv
node_ram_in_use:
(int) the amount of physical RAM in use on the node in bytesnode_ram_in_use_str:
(string) a descriptive string giving the amount of physical RAM in use on the nodenode_cpu_count:
(int) the number of CPUs on the nodenode_load_pct:
(float) the average load on the machine over the last minuteprocesses:
(int) the number of Qorus processes for the instance on the nodeEvent constant: OMQ::QEC_USER_EVENT
The info hash for user events is free form; any serializable information can be included in the info hash.
The following gives a list of the criteria that can be used for filtering events:
"all"
: The argument with this criteria is ignored; automatically matches all events; this criteria is useful with “logical or” filtering and an “and not” list to specify all events except events matching all of the criteria in any of the “and not” criteria hashes."class"
: The class code for the event; the event’s class code must match this class code exactly for the criteria to match"classstr"
: The string designation corresponding to the event class code (see the keys of the OMQ::QE_RMAP_CLASS Constant Hash for possible values); the event’s class string must match this class string exactly for the criteria to match"event"
: The event code for the event; the event’s event code must match this event code exactly for the criteria to match"eventstr"
: The string designation corresponding to the event code (see the keys of the OMQ::QE_RMAP_EVENT Constant Hash for possible values); the event’s event string must match this event string exactly for the criteria to match"mincompositeseverity"
: The minimum composite severity code for the event. Composite severity is the maximum of the event and user severity levels. Values may be integers from -1 to 4 corresponding to the keys in the OMQ::ErrorSeverityMap hash. If the event has an equal or higher composite severity code, then this criteria matches."mincompositeseveritystr"
: The string description corresponding to the minimum composite severity code for the event. Composite severity is the maximum of the event and user severity levels. See the keys of the OMQ::ErrorSeverityOrder hash for possible values of this field. When the strings are converted to severity codes, works like the mincompositeseverity criteria."minseverity"
: The minimum severity code for the event; values may be integers from -1 to 4 corresponding to the keys in the OMQ::ErrorSeverityMap hash. If the event has an equal or higher severity code, then this criteria matches."minseveritystr"
: The string description corresponding to the minimum severity code for the event; see the keys of the OMQ::ErrorSeverityOrder hash for possible values of this field. When the strings are converted to severity codes, works like the minseverity criteria."miuserseverity"
: The minimum user severity for the event; values may be integers from -1 to 4 corresponding to the keys in the OMQ::ErrorSeverityMap hash. If the event has an equal or higher user severity code, then this criteria matches."minuserseveritystr"
: The string description corresponding to the minimum user severity code for the event; see the keys of the OMQ::ErrorSeverityOrder hash for possible values of this field. When the strings are converted to severity codes, works like the minuserseverity criteria."none"
: The argument with this criteria is ignored; automatically matches no events; this criteria is useful with “logical and” filtering” and an “or not” list to specify all events except those not matching the criteria in the “or not” list.