class Ens.Util.Tasks.Purge
extends %SYS.Task.Definition
parameter RESOURCE = "%Ens_PurgeSchedule:USE";
This specifies a security resource and optional permission. Access to the resource
will be required to create, modify or run a task of this type.
The format is ":". If is ommited, "USE" is implied.
Note that this parameter cannot be overridden using the COSEXPRESSION parameter type.
property BodiesToo
as %Boolean [ InitialExpression = 0 ];
Delete message bodies whenever their message header is deleted. This is off by default because some Productions may
use message objects that are part of a larger environment and not transitory.
property KeepIntegrity
as %Boolean [ InitialExpression = 1 ];
Preserve messages not yet completely processed
property NumberOfDaysToKeep
as %Integer(MINVAL=0) [ InitialExpression = 7 ];
How many days of messages should not be purged
property TypesToPurge
as %String(DISPLAYLIST=",All Types,Events,Messages,Business Processes,Rule Logs,I/O Logs,Host Monitor Data,Managed Alerts",VALUELIST=",all,events,messages,processes,rulelogs,iologs,hostcounters,managedalerts") [ InitialExpression = "events",Required ];
The type of thing to purge
property UseSystemMessagesLog
as %Boolean [ InitialExpression = 0 ];
Setting this property to 1 allows logging the purge status in the operator console messages (messages.log).
This status can also be seen on the SMP under: System Operation->System Logs->Messages Log
property optionalMessageLimitToConfigItems
as %String(MAXLEN=10000);
A comma separated list of production host items that if defined will
limit the purge to SourceConfigName or TargetConfigName contained in the list
property optionalMessageWorkQueueBatchSize
as %Integer;
If optionalMessageWorkQueueCategory then this gives
the number of messages to split into multiple jobs (exclusive of
completeness or config item name requirements) as starting batch lists.
The default if not specified is 100000.
The minimum count applied will be 10000
property optionalMessageWorkQueueCategory
as %String;
For purging messages it is possible to split the purge into
multiple batches and submit to the Work Queue Manager.
Specify a Work Queue Category name to use this feature.
If an invalid category is entered then the Default category is used.
The splitting of the purge into categories can be tuned using
optionalMessageWQBatchSize
method OnTask()
as %Status
The OnTask() method is called to execute the task
classmethod PurgeAll(pTypesToPurge As %String = "all", pNumberOfDaysToKeep As %Integer = 0, pBodiesToo As %Boolean = 1)
as %Status
Purge the message store, and event log