Запуск БП в ротации по установленному времени или через определенные временные интервалы
Существует ли возможность назначать выполнение бизнес-процессов в ротацию по установленному времени, или через определенные временные интервалы от некоего момента ?
PS: Судя по всему процесс типовой конфигурации "Синхронизировать почту" запускается в таком режиме, но изучив его, как схему - найти каких-то особенных признаков не удалось.
В интерфейсе конфигуратора и приложения тоже не встречал какого-либо планировщика.
Нравится
Здравствуйте!
Запуск процесса в определенное время (при смене регулярного выражения можно добиться других периодов, например, каждые N минут):
http://www.community.terrasoft.ru/forum/topic/24817
Запуск процесса периодично (аналогично синхронизации почты):
http://www.community.terrasoft.ru/forum/topic/13945
Периодичность задается параметром minutelyInterval.
Используется .Net-овская Quartz (соответственно можно нагуглить Cron-выражения для периодов)
Мы для удобной установки триггеров создали вспомогательную утилиту:
Изнутри выглядит это всё как-то так:
public string startSyncScheduler(string name, string group, string process, string cronCode, int hours, int minutes) { try { UserConnection userConnection = this.UserConnection; if (AppScheduler.DoesJobExist(name, group)) { AppScheduler.RemoveJob(name, group); } IJobDetail job = AppScheduler.CreateProcessJob(name, group, process, userConnection.Workspace.Name, userConnection.CurrentUser.Name); ITrigger trigger = TriggerBuilder.Create() .WithIdentity(name, group) .WithSchedule(CronScheduleBuilder.CronSchedule(string.Format(cronCode, minutes, hours, DateTime.UtcNow.Day, DateTime.UtcNow.DayOfWeek.ToString().Substring(0, 3).ToUpper() )) .WithMisfireHandlingInstructionDoNothing() .InTimeZone(TimeZoneInfo.Utc)) .ForJob(job) .Build(); AppScheduler.Instance.ScheduleJob(job, trigger); return "Job Well Done!"; } catch (Exception ex) { return ex.Message; } }
Коллеги, добрый день!
Для установки параметров запуска бизнес-процессов по расписанию через пользовательский интерфейс, мы выпустили соответствующее дополнение к bpm'online. Надеюсь, будет полезным:)
Подробнее здесь https://marketplace.terrasoft.ru/app/extended-business-process-scheduler