Settings in All Business Processes
Summary
All business processes have the following settings:
Group | Settings | Notes |
---|---|---|
Informational Settings | Comment, Category, Class Name, Description, Business Partner | See these settings for business services |
Basic Settings | Enabled | See this setting for business services |
Additional Settings | Schedule, | See this setting for business services |
Additional Settings | Pool Size, Reply Code Actions, | |
Alerting Control | Alert Retry Grace Period, Queue Count Alert, Queue Wait Alert | |
Alerting Control | Alert On Error, Inactivity Timeout | See these settings for business services |
Development and Debugging | Log Trace Events | See this setting for business services |
Alert Retry Grace Period
Common to business processes and operations. Specifies an optional grace period during which errors relating to external connections do not trigger alerts (even if Alert On Error is True).
This grace period starts only after the first occurrence of an error.
If the error condition still exists after the alert period expires, the business operation triggers an alert; otherwise no alert is triggered.
Note that depending on how long it takes the adapter or business operation to return errors, the business host may avoid triggering an alert even when the Failure Timeout expires. For instance, suppose the Retry Interval is 5 seconds, Failure Timeout is 15 seconds, and Alert Retry Grace Period is 14 seconds. If it takes the adapter or business operation more than 1 second to return the error, then the Alert Retry Grace Period goes beyond the Failure Timeout and the alert may not be triggered, depending on how long the adapter/operation takes to return after retrying.
Business services have a similar setting.
Pool Size
Common to all business hosts. See this setting for business services.
Notes specific to business processes:
-
A business process shows no pool size if its private pool size is 0 (zero), meaning that it gets its jobs from the public actor pool shared by all business processes in the production.
-
This number could be larger to allow higher throughput in some circumstances. If this number is 0, the business process has no private pool of jobs, and uses jobs from the public actor pool for the production.
-
Larger numbers are not necessarily helpful; while the potential pool sizes actually range from 0–100, most pool sizes are best set to either 0 or 1, and there can be serious consequences when sizes are set to a number greater than 1.
When you disable a business process, it must have a Pool Size = 1 or greater if you want all instances of only this business process to stop. If the business process has a Pool Size = 0, the action disables all business processes that share the actor pool. See Pool Size and Actor Pool Size.
Queue Count Alert
Common to business processes and operations. Specifies an alert threshold for the number of items in the queue of this business host. An alert is triggered when this threshold is exceeded.
InterSystems IRIS sends an alert when the number of items in a business host’s queue reaches the threshold set by this setting for that business host. This alert has the prefix QueueCountAlert: (not localized). This alert is to detect large queues that are building up.
The service that checks the queue count runs every five seconds, so the granularity of the checking is somewhat limited, but should still provide timely warnings about processing and flow problems.
To disable this alert, specify this setting as 0.
For information on alerts, see Configuring Alerts.
Queue Wait Alert
Common to business processes and operations. Specifies the length of time that a message can wait in the business host’s queue or be the active message before an alert is triggered.
This alert has the prefix QueueWaitAlert: (not localized). This alert is useful to detect whether a queue is processing messages.
To disable this alert, specify this setting as 0.
The service that checks the wait periods runs every five seconds, so the granularity of the checking is somewhat limited, but should still provide timely warnings about processing and flow problems.
If a Queue Wait alert has been triggered, then the clearing of the known delay happens when the queue delay time for the item at the head of the queue is less than 80% of the Queue Wait Alert time setting. This is to prevent false re-alerting as a queue is drained. It is possible to change the default 80% with the API: Do ##class(Ens.MonitorService).setQWTPct(0.9)
For information on alerts, see Configuring Alerts.
Reply Code Actions
Common to business processes and business operations. Comma-separated list of code-action pairs, specifying which action the business process takes on receipt of various reply status conditions.
The Reply Code Actions setting allows you to supply a comma-separated list of code-action pairs, specifying which action the business host takes on receipt of various reply status conditions. The format of the list is:
code=actions,(code,code)=actions, ... code=action
The following table lists the types of reply status condition identified by code.
Code | Meaning |
---|---|
E | Error status returned from message handler. |
E#statuscode | Error status returned from message handler has status code equal to statuscode. |
E*text | Error status returned from message handler contains text string text. |
X | There is no reply message object at all. |
The following values for action may be used alone or combined to form strings.
Action | Meaning |
---|---|
C | Treat the document as Completed OK. |
W | Log a warning but treat the document as Completed OK. |
R | Retry the message according to the configured Retry Interval and Failure Timeout settings; finally Fail, unless a different action is also specified. |
S | Suspend the message, log an error, and move on to try the next message (the default). |
D | Disable the business process or operation, log an error, and restore the outbound message to the front of the business host queue.
When you choose the disable action for a business process, you must configure the business with a Pool Size = 1 or greater if you want all instances of only this business process to stop. If the business process has a Pool Size = 0, the disable action disables all business processes that share the actor pool. See Pool Size and Actor Pool Size. |
F | Fail with an error and move on to try the next message. |
For example:
E#6301=R,E*ErrGeneral=R,E=F
The default value for the Reply Code Actions string is:
E=F
Which means when there is an error, fail and move on to try the next message.
All codes where the actions consists of only W (log a Warning) are evaluated and warnings generated if they trigger. Other codes are evaluated in left-to-right order, executing the first one that triggers that has a non-warning actions value. For example if the reply code action has the value E=RD, the business process or operation first retries to send the message until Failure Timeout setting and then, if the failure continues, it disables the business process or operation.