persistent class Ens.Alerting.AlertManager
extends Ens.Alerting.BaseProcess
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.
This is a Business Process class.
parameter SETTINGS = "CreateManagedAlertRule:Basic:ruleSelector";
Don't show the setting for AlertOnError.
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.