按时状况是求值策略基于时间的状况。这表示状况触发器按照业务度量模型中定义的规则的时间间隔求值和触发,例如,状况每 30 分钟触发一次。
按时状况触发时间由“监控器服务器”时钟时间确定,而不是运行时引擎时钟时间,在运行时引擎中已经创建了模拟状况所在的过程或活动实例。例如,如果过程在运行时引擎时间 9:20 创建,而“监控器服务器”在“监控器服务器”时间 10:20 收到过程实例创建事件,那么,按时状况将按照“监控器服务器”时间(10:20)触发和求值。
如果存在根据“按时状况监测时间间隔”服务器属性值,应该定期触发的按时状况,则“监控器服务器”求值。可以在 WebSphere® Business Monitor 管理控制台的“系统属性”页面中,配置该属性。属性值确定检测要触发的按时状况存在的频率(单位分钟)。 如果该时间间隔大于按时状况的循环持续时间,那么当用完前者的时间间隔时,实际上就触发了状况。然而,如果该时间间隔小于状况的循环持续时间,那么,当用完循环持续时间时,后者将具有优先顺序,仅会对状况求值。为进行说明,假定按时状况检测时间间隔为 30 分钟,而模型具有两个已定义的按时状况,具有的循环持续时间分别为 10 分钟和 50 分钟。
如果系统在上午 10 点启动,MC 实例在上午 10:40 创建,那么在 11:00,第一个按时实例将求值并可能运行。在 11:30,第一个和第二个按时状况都将求值。
管理员可以利用最适合其需求的值设置时间间隔,同时要兼顾性能。不能将“按时状况检测时间间隔”设置为大于 1 天。
例如,倘若我们具有这些值:一个循环持续时间为 30 分钟的按时状况,该状况的第一个触发时间为 10:20,管理员将“按时状况检测时间间隔”属性设置为 60 分钟,服务器在 10:00 启动,在这种情况下,按时状况将于 11:00 求值。
按时状况的触发还受到选通条件(可以根据状况进行建模)控制,例如,如果指定的度量值为 true,则按时状况每 30 分钟触发一次。考虑上述示例,如果假定触发器时间是 10:50 的按时状况的选通条件值为 true,而由于检测时间间隔被设置为 1 小时,并且由于某些原因,当 11:00 进行求值时,状况的选通条件不为 true。如果管理员设置“按时状况检测时间间隔”为 50 分钟,那么状况将于 10:50 触发。
请注意,如果您知道该状况的选通条件不会频繁更改,则您可以选择一个大于状况循环持续时间的“按时状况检测时间间隔”。这表示,在上述示例中,按时状况选通条件的值不会从 10:50 更改为 11:00,因此状况将被正常触发。因此,这会提高“监控器服务器”性能,只考虑触发时间早于服务器当前时间的过程。
而且,在“按时状况监测时间间隔”中,如果按时状况在选通条件值为真时,具有多个重复的持续时间点,那么在该时间间隔内,最多运行一次状况。
另外,在同一过程中,可能会有多个按时状况,它们拥有不同的重复持续时间。“监控器服务器”保证首先触发具有最少运行时间的按时状况。 这可以保证对按时状况条件(可能受其他按时状况的影响)进行精确求值。