Skip to main content

Ens.Alerting.AlertManager

persistent class Ens.Alerting.AlertManager extends Ens.Alerting.BaseProcess

SQL Table Name: Ens_Alerting.AlertManager

Business Process that should run as Ens.Alert in user productions to handle Ens.AlertRequest requests. The main step in this process is to determine whether the incoming Ens.AlertRequest should be handled as a ManagedAlert.

Property Inventory

Method Inventory

Parameters

parameter SETTINGS = CreateManagedAlertRule:Basic:ruleSelector;
Inherited description: Don't show the setting for AlertOnError.

Properties

property CreateManagedAlertRule as %String (MAXLEN = 256);
Name of the rule to invoke when determining whether the incoming Ens.AlertRequest should be handled as a ManagedAlert. The rule should be configured to accept a context of type Ens.Alerting.Context.CreateAlert, which includes properties allowing the user to initialise values of the ManagedAlert.
Property methods: CreateManagedAlertRuleDisplayToLogical(), CreateManagedAlertRuleGet(), CreateManagedAlertRuleGetStored(), CreateManagedAlertRuleIsValid(), CreateManagedAlertRuleLogicalToDisplay(), CreateManagedAlertRuleLogicalToOdbc(), CreateManagedAlertRuleNormalize(), CreateManagedAlertRuleSet()

Methods

method GetCreateAlertContext(pAlertRequest As Ens.AlertRequest, Output pCreateAlertContext As Ens.Alerting.Context.CreateAlert) as %Status
Callback to create the rule context used for the rule to decide whether a ManagedAlert should be created for the AlertRequest supplied in pAlertRequest. Users can override this method in subclasses to supply context objects based on the user's requirements.
method OnAlertRequest(pAlertRequest As Ens.AlertRequest) as %Status
Basic method for handling an incoming Ens.AlertRequest.
method OnCreateManagedAlert(pAlertRequest As Ens.AlertRequest, Output pManagedAlert As Ens.Alerting.ManagedAlert, pInitialOwner As %String = "") as %Status
Callback to create the actual instance of Ens.Alerting.ManagedAlert. Users can override this in subclasses to make use of their own subclass of Ens.Alerting.ManagedAlert.
classmethod OnGetConnections(Output pArray As %String, pItem As Ens.Config.Item)
Add connection to the Production's AlertNotificationManager
method OnInit() as %Status
Ensure that Notification Manager is defined for the current production, and that the rule specified in CreateManagedAlertRule exists.
method OnProcessAlertRequest(pAlertRequest As Ens.AlertRequest, Output pProcessingComplete As %Boolean) as %Status
Callback to allow users to implement any actions they choose in subclasses. The pProcessingComplete flag controls whether any further actions should be taken for the current alert. If all intended actions have been completed, then pProcessingComplete should be set to true.
method OnRequest(pRequest As Ens.AlertRequest, Output pResponse As %Library.Persistent) as %Status
Handle incoming requests.

Inherited Members

Inherited Properties

Inherited Methods

Storage

Gray indicates storage defined by superclasses.

Storage Model: CacheStorage (Ens.BusinessProcess)

^Ens.BusinessProcessD(ID,"pending",n)
=
%MasterPendingResponses(n)

Storage Model: CacheStorage (Ens.BusinessProcess)

^Ens.BusinessProcessD(ID,"received",n)
=
%MessagesReceived(n)

Storage Model: CacheStorage (Ens.BusinessProcess)

^Ens.BusinessProcessD(ID,"sent",n)
=
%MessagesSent(n)

Storage Model: CacheStorage (Ens.BusinessProcess)

^Ens.BusinessProcessD(ID)
=
%%CLASSNAME
%ConfigQueueName
%IsCompleted
%MasterPendingResponsesOld
%PrimaryRequestHeader
%PrimaryResponseHeader
%RepliedStatus
%responseId
Adapter
%SessionId
%TimeCompleted
%TimeCreated
%ConfigName
%QuitTask
AlertOnError
%responseClassName
%IsTimerInterrupted
%IsTerminated
%StatusCode
%MessagesReceivedOld
%MessagesSentOld
ReplyCodeActions
RetryInterval
AlertRetryGracePeriod
FailureTimeout
Retry
SuspendMessage
QueueCountAlert
QueueWaitAlert
InactivityTimeout
BusinessPartner
AlertGroups
%SuperSession

Storage Model: CacheStorage (Ens.Alerting.AlertManager)

^Ens.BusinessProcessD(ID,"AlertManager")
=
CreateManagedAlertRule
FeedbackOpens in a new tab