Skip to main content

%DeepSee.CubeSchedule.Group

class %DeepSee.CubeSchedule.Group extends %Library.RegisteredObject, %XML.Adaptor

Property Inventory

Method Inventory

Properties

property BuildAsynch as %ZEN.Datatype.boolean [ InitialExpression = 1 ];
GROUP DEFAULT - Flag which allows the user to select whether the build executes synchronously or asynchronously. Asynchronous build is the default.
Property methods: BuildAsynchDisplayToLogical(), BuildAsynchGet(), BuildAsynchIsValid(), BuildAsynchLogicalToDisplay(), BuildAsynchLogicalToOdbc(), BuildAsynchLogicalToXSD(), BuildAsynchNormalize(), BuildAsynchSet(), BuildAsynchXSDToLogical()
property BuildDayOfMonth as %Integer (MAXVAL = 31, MINVAL = 1) [ InitialExpression = 1 ];
If Month is selected as the BuildTimeUnit, this will allow the user to pick which day of the month this build should take place.
Property methods: BuildDayOfMonthDisplayToLogical(), BuildDayOfMonthGet(), BuildDayOfMonthIsValid(), BuildDayOfMonthLogicalToDisplay(), BuildDayOfMonthNormalize(), BuildDayOfMonthSet(), BuildDayOfMonthXSDToLogical()
property BuildDayOfWeek as %String (DISPLAYLIST = ",Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday", VALUELIST = ",1,2,3,4,5,6,7") [ InitialExpression = 1 ];
If week is selected for the BuildTimeUnit, this will allow the user to pick which day of the week the build should take place.
Property methods: BuildDayOfWeekDisplayToLogical(), BuildDayOfWeekGet(), BuildDayOfWeekIsValid(), BuildDayOfWeekLogicalToDisplay(), BuildDayOfWeekLogicalToOdbc(), BuildDayOfWeekNormalize(), BuildDayOfWeekSet()
property BuildFrequency as %Integer [ InitialExpression = 1 ];
Indicates how often the cube is to be built, in units of BuidTimeUnit
Property methods: BuildFrequencyDisplayToLogical(), BuildFrequencyGet(), BuildFrequencyIsValid(), BuildFrequencyLogicalToDisplay(), BuildFrequencyNormalize(), BuildFrequencySet(), BuildFrequencyXSDToLogical()
property BuildHourOfDay as %Integer (MAXVAL = 23, MINVAL = 0) [ InitialExpression = 0 ];
Select the hour of the day to target for an update
Property methods: BuildHourOfDayDisplayToLogical(), BuildHourOfDayGet(), BuildHourOfDayIsValid(), BuildHourOfDayLogicalToDisplay(), BuildHourOfDayNormalize(), BuildHourOfDaySet(), BuildHourOfDayXSDToLogical()
property BuildMinuteOfHour as %Integer (MAXVAL = 59, MINVAL = 0) [ InitialExpression = 0 ];
Select the minute of the hour to target for an update
Property methods: BuildMinuteOfHourDisplayToLogical(), BuildMinuteOfHourGet(), BuildMinuteOfHourIsValid(), BuildMinuteOfHourLogicalToDisplay(), BuildMinuteOfHourNormalize(), BuildMinuteOfHourSet(), BuildMinuteOfHourXSDToLogical()
property BuildTimeUnit as %String (DISPLAYLIST = ",Minute,Hour,Day,Week,Month", VALUELIST = ",Minute,Hour,Day,Week,Month") [ InitialExpression = "Week" ];
Base unit of time for cube builds.
Property methods: BuildTimeUnitDisplayToLogical(), BuildTimeUnitGet(), BuildTimeUnitIsValid(), BuildTimeUnitLogicalToDisplay(), BuildTimeUnitLogicalToOdbc(), BuildTimeUnitNormalize(), BuildTimeUnitSet()
relationship Cubes as array of %DeepSee.CubeSchedule.Cube [ InitialExpression = $listbuild("%DeepSee.CubeSchedule.Cube","Group",+$this,"many",0,0) , Transient , Inverse = Group , Cardinality = many ];
The collection of cubes that are a part of this group
Property methods: CubesGet(), CubesGetObject(), CubesGetObjectId(), CubesGetSwizzled(), CubesIsEmpty(), CubesIsValid(), CubesNewObject(), CubesRClose(), CubesRExec(), CubesRFetch(), CubesRelate(), CubesSQLCompute(), CubesSet(), CubesUnRelate()
property Disabled as %ZEN.Datatype.boolean [ InitialExpression = 1 ];
Disabled = 1 will block all automatic updates while leaving the cube visible in the registry.
Property methods: DisabledDisplayToLogical(), DisabledGet(), DisabledIsValid(), DisabledLogicalToDisplay(), DisabledLogicalToOdbc(), DisabledLogicalToXSD(), DisabledNormalize(), DisabledSet(), DisabledXSDToLogical()
property GroupName as %ZEN.Datatype.string;
Display Name for the group.
Property methods: GroupNameDisplayToLogical(), GroupNameGet(), GroupNameIsValid(), GroupNameLogicalToDisplay(), GroupNameLogicalToOdbc(), GroupNameNormalize(), GroupNameSet()
property IsRegistered as %ZEN.Datatype.boolean [ InitialExpression = 0 ];
Property methods: IsRegisteredDisplayToLogical(), IsRegisteredGet(), IsRegisteredIsValid(), IsRegisteredLogicalToDisplay(), IsRegisteredLogicalToOdbc(), IsRegisteredLogicalToXSD(), IsRegisteredNormalize(), IsRegisteredSet(), IsRegisteredXSDToLogical()
relationship Map as %DeepSee.CubeSchedule.Map [ Inverse = Groups , Cardinality = one ];
Reference to the parent map
Property methods: MapGet(), MapGetObject(), MapGetObjectId(), MapGetSwizzled(), MapIsValid(), MapNewObject(), MapRClose(), MapRExec(), MapRFetch(), MapRelate(), MapSQLCompute(), MapSet(), MapUnRelate()
property UpdatePlan as %String (DISPLAYLIST = ",Every,Hourly At,Daily At,Weekly On,Monthly On", VALUELIST = ",Every,Hourly,Daily,Weekly,Monthly") [ InitialExpression = "Every" ];
Plan for how the cube is to be managed by the build/synch tasks.
Property methods: UpdatePlanDisplayToLogical(), UpdatePlanGet(), UpdatePlanIsValid(), UpdatePlanLogicalToDisplay(), UpdatePlanLogicalToOdbc(), UpdatePlanNormalize(), UpdatePlanSet()

Methods

method %OnNew(pRegGroupName="") as %Status
This callback automatically performs some of the property settings as it is created for the RegistryMap
method FindNextUpdate(Output pStatus) as %TimeStamp
Calculate the next scheduled update time according to the groups schedule settings.
For groups requesting a relative frequency update this will calculate based on the last scheduled start time. If the group has not run a prior update, the group will be scheduled to start using the current time.
For groups requesting a specific scheduled time, schedule the next update for that next time in the future.
classmethod UpdateGroup(pGroupIndex="", pVerbose=0, pForce=0, ByRef pUpdateStats) as %Status
Given a group located at pGroupIndex, this method calculates the next time the group's cubes will update, based on the group's schedule settings. If the group's schedule settings specify a recurring day/time for updates (for example: 'Sundays at 2:00am' or '1st of the month at 9:00pm'), the method returns the next occurrence of that day/time. If the settings specify a relative frequency (for example: every 15 minutes), the method calculates the next update time based on the last update's start time. If the group is scheduled to update at a relative frequency but it has not yet run an update, the method returns the current time.

Inherited Members

Inherited Methods

FeedbackOpens in a new tab