Object Monitors are superseded by Automate. Automate is a fully backward-compatible product that offers a single entry point for all business automation in the platform.
Object monitors are evaluated and Action effects are executed individually by subscriber. This ensures that data access permissions and Action validations that rely on user attributes are respected while allowing users to configure object monitors for their individual workflows.
Some input and condition combinations support realtime evaluation. Object monitors that support it will be continuously evaluated. Notifications or Actions are usually executed within a few minutes of detected changes. If a large number of changes are synced from a pipeline build, the evaluation of monitors using those objects as inputs and its subsequent Actions or notifications may take a longer time to execute.
To support realtime evaluation, all of the following must be true:
Realtime evaluation only applies to changes coming from a pipeline build. Changes made through Actions may take up to seven hours before they are detected by Object Monitors. To shorten this time, include a notification rule to any Action that must trigger an immediate notification.
While realtime evaluation does not currently support scheduling monitors, it is possible to configure a function-backed Action to run when the object monitor detects an event between certain hours, using TypeScript to detect the current time/day. This code snippet shows an example:
Copied!1 2 3 4 5 6 7 8 9
@Edits(ObjectType) @OntologyEditFunction() public someEditFunction(): void { const currentTime = Timestamp.now() const currentHour = currentTimestamp.getHours(); if (currentHour >= 0 && currentHour < 12) { // Perform edits } }
Object monitors that cannot be evaluated in realtime are evaluated using a polling mechanism. Monitors are guaranteed to evaluate within 24 hours of the previous evaluation. To distribute the load of evaluating for large numbers of monitors, the specific time when a polling-based evaluation occurs cannot be explicitly scheduled. The last-evaluated time for polling-based monitors is stored and displayed in the in the monitor overview panel of the Object Monitors application interface.
Non-realtime object monitors may also be evaluated manually from the Object Explorer interface. This option is primarily intended for testing when setting up non-realtime monitors.