Using "Escalation Period" for "Asynchronous" type of method in a Hawk rulebase.

Using "Escalation Period" for "Asynchronous" type of method in a Hawk rulebase.

book

Article ID: KB0091170

calendar_today

Updated On:

Products Versions
TIBCO Hawk -
Not Applicable -

Description

Resolution:
Description
=======
Those methods which type are "Asynchronous" may not directly use "Escalation Period" to delay the action. For example, if you want to use Method: OnStarterStateChanged of BW microagent to monitor starter state, and if starter became to disabled, then wait 180 seconds and resume starter. If you directly use "Escalation Period", it should not work. Because  the action is not performed the first time, the associated test is true, but instead starts an internal timer. When the action is triggered on a test transition from false to true, the timer is started. If the associated test remains true for another evaluation after the specified interval, then the action is performed. Since "Asynchronous" Method: OnStarterStateChanged is used here, the associated test will probably not be true. The escalation period will not work here.

Resolution 

=======

For a workaround, "posted condition" should be used, which is also the advanced option to combine two different rule in one test condition. In the first rule, use the method OnStarterStateChanged to detect starter becoming disabled. When the test condition becomes true, the action part would be "posted condition". In "Advanced Test Editor" select "Clear Test" and give it the states of starter resumed. By setting this, the value of posted condition would remain 1 until states of starter resumed. This "Advanced Test Editor" is quite flexible and you are able to select "Clear Timer" and give it the period of this posted condition remain 1. This value should be greater than 180 (Escalation period) and less than 180*2 seconds.

In the second rule, use any of the Synchronous methods as a data source, such as Method: getUptime of Self microagent. In "Test Builder", Selected $(posted.XXX) == 1 as a test condition. In "Action Editor", Resume the starters, in advance option, selected escalation period with 180 second. This example used OnStarterStateChanged. You can also use any other Asynchronous method in this way to achieve your "Escalation Period" goal. 

An example rulebase file for reference is attachmed to this kb (Filename: monitoringprocessstarter.hrb). Deploy this rulebase to a test Process or service and re-deploy it. Refer to the TIBCO Administrator-> User’s Guide-> Chapter 8 Setting Deployment Options->  Adding a Custom Rulebase to a Process or Service.

Issue/Introduction

Using "Escalation Period" for "Asynchronous" type of method in a Hawk rulebase.

Attachments

Using "Escalation Period" for "Asynchronous" type of method in a Hawk rulebase. get_app