Subscription:{InfoDictID | InfoDictName}:[SubscriptionName]: [SubscriptionID]:{InfoDictID | InfoDictName}:{InfoDictItemID | InfoDictItemName}:Condition:[Value]:[Period]:[entryref]:[SubscriberID[,...]]:[PublisherID[,...]]
![]() | InfoHub Internals |
---|---|
InfoHub implements other alerts with GT.M triggers on InfoHub nodes. A Subscription Descriptor other than "Noinfo" defines a trigger. The technique of using GT.M triggers to implement Subscriptions does not work for NoInfo Subscriptions because triggers are initiated by a database update, whereas NoInfo is initiated by the absence of an update. To manage polling impact, each NoInfo subscription is implemented with a process that executes a Hang for the Period at the end of which it might need to queue an alert and INTRPT one or more Subscribers. When the Hang expires, the process checks whether or not the information it is monitoring has changed. If it has, the process notes the time at which it changed, and schedules itself for the future with another Hang. If it has not changed, the process makes an appropriate entry in ^InfoHubInfo, issues the alert / notification, and schedules itself for the future with a Hang for the Period. Because the META type aggregation mechanism uses a trigger on a node that manages Subscriber notifications for its Subscription and suppresses storing of data at the trigger node, a NoInfo process has no means to track activity at a META node. Configuration processing stores Subscription specifications in the following nodes: InfoHubConf(InfoHubID,"Subscriptions",SubscriptionID,BeginningSequenceNumber)=a?? [EndingSequenceNumber]:a??SubscriptionInfodictID:a??ItemInfoDictID:a??InfoDictID:a??condition:a??value:a??[period]:a??[entryref]:a??[SubscriberID[,...]]:a??[PublisherID[,...]] ^InfoHubConf(InfoHubID,"NoInfo",SubscriptionID,BeginningSequenceNumber)=a?? |
Subscription:SysSubscriptions:PatchMe:1000:UpTime:Days:<:30:::404: Subscription:SysSubscriptions:AuthFail:2000:GenericAny:Anything:[:""""Fail"""":::503: Subscription:SysSubscriptions:GTMError:3000:GenericAny:Anything:[:""""%GTM-E""""::::