We created a generalized process Event that monitors tasks starting or ending at a specific time, or running between a specific
starting and ending time, and to perform notification for those that
don't. This process uses a "start of cycle" concept that has
been developed with “master” process flows in mind though it could be used by
other flows as well. The monitoring cycle starts and ends with the
execution of the to-be-monitored flow. Only tasks that are executed while
the monitored cycle flow is active are considered though they do not have to be
a task in that flow. This technique avoids the logic necessary to
determine when a task should be considered to have executed or not in some
timeframe and the additional issues associated with a change of calendar day.
This is not meant to replace existing UC4
facilities, such as Runtime Supervision (MRT/SRT) or existing purpose-built monitoring
objects. It is to be viewed as an additional tool to assist in monitoring
the production environment.
If the associated like-named monitoring
objects exist at the monitored cycle flow’s activation the monitoring Event is
activated. The following objects must exist for the process to
operate.
Event monitored_flow_MONITOR
Variable monitored_flow_MONITOR_CONTROL
The Event's Interval is 10 minutes which
should provide a sufficient level of granularity for this type of process.
The interval defines the "window" of time in which the monitored task
should have started or ended. The monitor Event is stopped if, at the
expiration of the next interval, the monitored cycle plan is not active.
Themonitored_flow_MONITOR_CONTROL
Variable
Keyword Value
a_task_name_to_monitor_start START=hh:mm
a_task_name_to_monitor_end END=hh:mm
a_task_name_to_monitor_between BETWEEN=hh:mm-hh:mm
Note: The monitor treats any time
earlier than the start of monitored_flow as occurring the next day: e.g.: If the
monitored_flow starts at 07:00 on January 1st, then a START=01:00 would be for
1:00 am on January 2nd.
Most all of our objects share common Includes
that perform many functions based upon the object’s name and type. Thus, for example, when the monitored_flow
process flow starts its Process tab's include logic checks to activate the
associated monitored_flow_MONITOR Event if it exists. In addition, the Event’s Process and !
Process tabs also contain Includes that have the needed logic to perform the monitor
checking and notification.
Current monitoring logic is rather simplistic
and does not consider additional task criteria such as Calendar Keywords,
Inactive/skipped or a late or early start of the monitored cycle flow.
Over time it is envisioned that additional monitoring keywords and capabilities
will be added.
This has been implemented under OM V8. Let me know if you need more detailed information.