Skip to main content

Ens.Director

abstract class Ens.Director

Method Inventory

Parameters

parameter DOMAIN = Ensemble;

Methods

classmethod Console(pTarget As %String = $NAMESPACE)
Console for managing/monitoring InterSystems IRIS from a terminal prompt.
classmethod CreateBusinessService(pTargetDispatchName As %String, Output pBusinessService As Ens.BusinessService) as %Status

This method creates a Business Service object from which you can send messages.

pTargetDispatchName: is the configuration name of the business service.

pBusinessService: is an output parameter that contains the business service object.

classmethod DeleteProduction(pProdId As %String, pLeaveProductionDeleteToCaller As %Boolean = 0) as %Status
This method permanently deletes the specified production and its underlying class.
It returns an error and will not delete the class if the production class to be deleted is the current production for the namespace and is not stopped.
It is the caller's responsibility to check and handle the necessary Source Control environment used by $SYSTEM.OBJ.Delete() if needed.
The parameter pLeaveProductionDeleteToCaller allows the caller to delete the Production class within a separate Source Control aware API and not use $SYSTEM.OBJ.Delete().
classmethod EnableConfigItem(pConfigItemName As %String, pEnable As %Boolean = 1, pDoUpdate As %Boolean = 1) as %Status

Enable or disable a ConfigItem in a Production. The Production may be running or not.

The pConfigItemName argument gives the name of the config item to be enabled or disabled.

In the case of multiple matching items with the same config name, if any is already enabled then the pEnable=1 option will do nothing and the pEnable=0 option will disable the running matching production item, or if not running then the first matching enabled item that it finds. The pDoUpdate=1 option will call the Ens.Director.UpdateProduction() method in this class.

See ParseConfigItemName() for full syntax of the ConfigItem name specification string.

classmethod GetActiveProductionName() as %String
Get the name of the current running or last used production
classmethod GetAdapterSettingValue(pConfigItemName As %String, pSetting As %String, Output pStatus As %Status) as %String
classmethod GetAdapterSettings(pConfigItemName As %String, Output pSettings) as %Status
classmethod GetCurrProductionSettingValue(pSetting As %String, Output pStatus As %Status) as %String
This method is deprecated. Please call GetProductionSettingValue("",tSetting,.tStatus) instead
classmethod GetCurrProductionSettings(Output pSettings) as %Status
This method is deprecated. Please call GetProductionSettings("",.tSettings) instead
classmethod GetHostSettingValue(pConfigItemName As %String, pSetting As %String, Output pStatus As %Status) as %String
classmethod GetHostSettings(pConfigItemName As %String, Output pSettings) as %Status
classmethod GetItemSettingValue(pConfigItemName As %String, pType As %String, pSetting As %String, Output pStatus As %Status) as %String
classmethod GetItemSettings(pConfigItemName As %String, pType As %String, Output pSettings) as %Status
classmethod GetProductionSettingValue(pProd As %String, pSetting As %String, Output pStatus As %Status) as %String
classmethod GetProductionSettings(pProd As %String, Output pSettings) as %Status
classmethod GetProductionStatus(Output pProductionName As %String, Output pState As %Integer, pLockTimeout As %Numeric = 10, pSkipLockIfRunning As %Boolean = 0) as %Status

This method returns the production status via the output parameters.

pProductionName: Returns the production name when the status is running, suspended or troubled.

pState: Outputs production status. The valid values are: $$$eProductionStateRunning $$$eProductionStateStopped $$$eProductionStateSuspended $$$eProductionStateTroubled

classmethod GetProductionSummary(ByRef pInfo, pNamespace As %String = $namespace)
classmethod GetRunningProductionShutdownTimeout() as %Integer
classmethod GetRunningProductionUpdateTimeout() as %Integer
classmethod GetSystemProductionSummary(ByRef pInfo) as %Status
classmethod IsItemEnabled(pConfigItemName As %String, pStatus As %Status) as %Boolean
Return 1 if the named config item is enabled
classmethod IsProductionRunning(Output pProductionName As %String) as %Boolean
This method returns whether a production is currently running in this namespace, and returns the name of the currently running production in pProductionName. Note that this method is not as reliable as GetProductionStatus()() as it does not lock $$$EnsRuntime and may not accurately reflect the production status while the production is changing state, e.g. while starting or stopping.
classmethod ParseConfigItemName(pConfigItemName As %String, Output pProductionName As %String, Output pItemBaseName As %String, Output pItemCommentOrClassName As %String)

The pConfigItemName argument may contain the following elements:

ProductionName||ConfigName|CommentOrClassname

Only the ConfigName portion is required. If ProductionName is not given, then the currently running or last run Production will be used. CommentOrClassname is the name shown in the Config page's dropdown list for multiple items having the same ConfigName. If it is not given, then if more than one item of the given ConfigName exists, all will match.

In order for this method to work properly, none of the names of the items in your production should contain the '|' character.

classmethod ProductionNeedsUpdate(Output pReason As %String, pQuickLock As %Boolean = 0) as %Boolean
This method returns a boolean to indicate if the running production needs to be updated or not. pReason: is an output parameter that gives detailed reasons.
classmethod RecoverProduction() as %Status
This method recovers the last running production whose status is eProductionStateTroubled.
classmethod RestartAutoAddedItem(pAutoAddedItem As %String = "", pUpdateProduction As %Boolean = 1, pForce As %Boolean = 0, pTimeout As %Integer = 10) as %Status

This method can be used to restart certain items that are automatically added to a production: Ens.Alarm, Ens.MonitorService and Ens.ScheduleHandler, since by default they are behind the scenes production item and not added to the production class definition.

The default is to update the production after stopping the identified job.

This means all reasons for an update production are attempted to be addressed.

The 4 parameters are:

pAutoAddedItem - can be Ens.Alarm, Ens.ScheduleHandler or Ens.MonitorService

pUpdateProduction - defaults to 1 (true)

pForce - defaults to 0. If true it will force the job to be stopped after the timeout and if the production is to be updated apply force there if needed.

pTimeout - defaults to 10. The timeout used to stop the job and also the optional update production call.

classmethod RestartProduction(pTimeout As %Numeric = 10, pForce As %Boolean = 0) as %Status

This method stops and restarts the running production.

pTimeout: How many seconds to wait for the jobs to go down.

pForce: It indicates if we should forcefully kill the jobs which can not stop by themselves.

classmethod SetAutoStart(pProductionName As %String, pStartupPriority As %Integer = "") as %Status
pProductionName argument is the production to start automatically on startup.
Productions are started in descending order of priority followed by alphabetically.
pStartupPriority argument is used to set the relative priority for auto start of productions within the instance. The default is to check first for a recommended value and if a recommended value has not been set then the default value of 0 is used.
The setting of a recommended value is currently reserved for internal use.
classmethod StartProduction(pProductionName As %String = {$GET(^Ens.Configuration("csp", "LastProduction"))}) as %Status
This method starts the production running. pProductionName: The name of the production to be started. If not specified, defaults to the "last" production used (if any).
classmethod StopProduction(pTimeout As %Numeric = 10, pForce As %Boolean = 0) as %Status

This method stops the running production.

pTimeout: How many seconds to wait for the jobs to go down.

pForce: It indicates if we should forcefully kill the jobs which can not stop by themselves.

classmethod SystemStart() as %Status
classmethod SystemStop() as %Status
classmethod TempStopConfigItem(pConfigItemName As %String, pStop As %Boolean = 1, pDoUpdate As %Boolean = 1) as %Status

Temporarily stop an enabled ConfigItem in a Production without changing the item's Enabled setting in the production. The production definition class is unchanged. The temporary stop is not maintained through production restarts or mirror failover. This is only used if the Production is running. This does not apply to business processes with a pool size of 0 (using the general actor pool).

The pConfigItemName argument gives the name of the config item to be temporarily stopped. The mechanism for indicating the config item ought to be temporarily stopped makes use of the mechanism used for stopping a scheduled stopped item.

See ParseConfigItemName() for full syntax of the ConfigItem name specification string.

classmethod UpdateProduction(pTimeout As %Numeric = 10, pForce As %Boolean = 0, pCalledByScheduleHandler As %Boolean = 0) as %Status

This method updates the running production.

pTimeout: How many seconds to wait for the jobs to go down.

pForce: It indicates if we should forcefully kill the jobs which can not stop by themselves.

pCalledByScheduleHandler: This parameter is set to 1 when it is called by the schedule handler.

classmethod actualizeProductionDifferences(ByRef pDefinition, Output pToStopJob, ByRef pToStartConfig, ByRef pToDeleteConfig, ByRef pToUpdateScheduler As %Boolean, pTimeout As %Numeric, pForce As %Boolean, pCalledByScheduleHandler As %Boolean = 0) as %Status
classmethod findProductionDifferences(pProductionName As %String, pLog As %Boolean, Output pDefinition, Output pToStopJob, Output pToStartConfig, Output pToDeleteConfig, Output pToUpdateScheduler As %Boolean = 0, Output pToCleanJobStatus, Output pActorForceDisabled As %Boolean = 0, pUpdatingProduction As %Boolean = 0, pActiveLockTimeout As %Integer = 10) as %Status
classmethod getProductionItems(tProduction As Ens.Config.Production, pDefinition As %String, pAutoAdd As %String) as %Status
classmethod getRunningJobData(Output pRunningCount, Output pRunningConfig) as %Status
classmethod hasDisabledActorProcess(pProduction As Ens.Config.Production) as %Boolean
classmethod killProductionGlobals(pKillAppDataToo As %Boolean = 0) as %Status
FeedbackOpens in a new tab