Регулярные ситуации - это ситуации, стратегия вычисления которых основывается на времени. Это означает, что триггеры ситуаций вычисляются и выполняются с заданным в модели бизнес-величин интервалом, например, каждые 30 минут.
Время вызова регулярных ситуаций основывается на времени сервера монитора, а не службы выполнения экземпляра процесса или деятельности, в котором моделируется ситуация. Например, если экземпляр процесса создан в 9:20 по времени службы выполнения, а сервер монитора получил событие о создании экземпляра в 10:20 по собственному времени, то регулярная ситуация будет вызываться и вычисляться на основе времени 10:20.
Сервер монитора выполняет поиск регулярных ситуаций, требующих вызова, по параметру сервера Интервал проверки регулярных ситуаций. Его можно настроить на странице Системные свойства в административной консоли WebSphere Business Monitor. Значение параметра задает частоту (в минутах) поиска регулярных ситуаций, требующих вызова. Если этот интервал проверки больше интервала регулярной ситуации, то она будет вызвана по истечении первого интервала. Если же этот интервал меньше интервала регулярной ситуации, ситуация будет вычислена только по истечении последнего интервала. В качестве иллюстрации, предположим, что интервал проверки регулярных ситуаций - 30 минут, в модели определены две регулярных ситуации с интервалами 10 и 50 минут соответственно.
Если система запущена в 10 часов утра, экземпляр MC создан в 10:40, то в 11:00 будет выполнено вычисление и вызов первой ситуации. В 11:30 будут вычислены обе ситуации.
Администратор может установить подходящий интервал проверки для достижения высокой производительности. Интервал проверки не может превышать один день.
Например: имеется регулярная ситуация с интервалом 30 минут, ее первый вызов был в 10:20; затем администратор установил интервал проверки регулярных ситуаций в 60 минут, сервер запущен в 10:00. Следующее вычисление регулярной ситуации произойдет в 11:00.
Вызов регулярной ситуации также контролируется условием пропуска, которое может задаваться ситуацией, например ситуация должна вызываться каждые 30 минут только если значение определенного показателя равно true. Вернемся к примеру, рассмотренному выше. Условие пропуска регулярной ситуации в 10:50 должно было быть равно true, но затем интервал проверки был установлен в 1 час, при вычислении условия пропуска в 11:00 оно уже не было равно true. Если бы администратор установил интервал проверки в 50 минут, то в 10:50 ситуация была бы вызвана.
Если же вы знаете, что значение условия пропуска меняется не часто, интервал проверки можно сделать больше интервала ситуации. При этом вероятность изменения значения условия пропуска в промежутке между 10:50 и 11:00 будет достаточно мала и ситуация скорей всего будет вызвана. Производительность сервера монитора увеличится, так как будут рассматриваться только процессы, имеющее меньшее время вызова, чем текущее время сервера.
Если за один интервал проверки регулярная ситуация имеет несколько полных интервалов и условие пропуска выполняется, ситуация будет вызвана только один раз.
В одном процессе может быть несколько регулярных ситуаций с разными интервалами. Сервер монитора гарантирует, что первой будет вызвана ситуация с наименьшим временем. Это обеспечивает правильность вычисления условий пропуска остальных ситуаций, основывающихся на значении, которое может быть изменено при возникновении первой ситуации.