abstract class Ens.Production
extends %RegisteredObject, Ens.Settings
parameter SETTINGS = "ShutdownTimeout,UpdateTimeout,AlertNotificationManager:Alerting,AlertNotificationOperation:Alerting,AlertNotificationRecipients:Alerting,AlertActionWindow:Alerting";
List of properties can be set as settings in the configuration file
format is a comma separated list of property names
property AlertActionWindow
as %Library.Integer [ InitialExpression = ##class(Ens.Alerting.Utils).#DEFAULTACTIONWINDOW ];
The default number of minutes within which a Managed Alert should be acted upon.
property AlertNotificationManager
as Ens.DataType.ConfigName;
The default Alert Notification Manager for use by the Managed Alert framework.
property AlertNotificationOperation
as Ens.DataType.ConfigName;
The default Alert Notification Operation for use by the Managed Alert framework.
The Notification Manager can be configured to send notifications to other hosts within the production,
but this setting provides a fallback for situations which are not captured by the logic in the Notification Manager.
property AlertNotificationRecipients
as %Library.String(MAXLEN=2048);
A comma-separated list of recipients that should be used for alert notifications
when no other recipients have been specified by the notification framework.
property ShutdownTimeout
as %Numeric(MAXVAL=3600,MINVAL=0) [ InitialExpression = 120 ];
Amount of time to wait for a click on Stop Production to succeed
property UpdateTimeout
as %Numeric(MAXVAL=3600,MINVAL=0) [ InitialExpression = 10 ];
Amount of time to wait for Production updates to succeed
This means both clicking UpdateProduction and clicking Apply for changes to a configuration item in a running production.
classmethod ApplySettings(pProductionName As %String, ByRef pSettings)
as %Status
Apply multiple settings to a production
pProductionName is the name of the Production to which to apply the settings
pSettings is a local array of settings structured in the following way:
pSettings(<itemName>,<target>,<settingName>)=<settingValue>
Where:
<itemName> is the configuration item name in the production
<target> Is one of:
Item: Means the setting is a property of the item itself, such as PoolSize
Host: Sets a host setting
Adapter: Sets an adapter setting
<settingName> is the setting name
<settingValue> is the desired value of the setting.
classmethod GetSettingValue(pName As %String, Output pStatus As %Status)
as %String
classmethod GetSettingsArray(Output pSettings)
as %Status
classmethod OnConfigChange(pProduction As Ens.Config.Production, pItem As Ens.Config.Item)
This method is called when config changes to the Production or any item are saved from the portal
classmethod OnStart(pTimeStarted As %String)
as %Status
Override this in your Production class to do setup before the Production starts
classmethod OnStop(pTimeStarted As %String, pForced As %Boolean)
Override this in your Production class to do cleanup after the Production stops
classmethod Register()
as %Status
Deprecated
classmethod Start()
as %Status
classmethod Stop(pTimeout As %Numeric, pForce As %Boolean)
as %Status
classmethod TestStart()
as %Status
classmethod Update(pTimeout As %Numeric, pForce As %Boolean)
as %Status