Запуск БП в ротации по установленному времени или через определенные временные интервалы
Существует ли возможность назначать выполнение бизнес-процессов в ротацию по установленному времени, или через определенные временные интервалы от некоего момента ?
PS: Судя по всему процесс типовой конфигурации "Синхронизировать почту" запускается в таком режиме, но изучив его, как схему - найти каких-то особенных признаков не удалось.
В интерфейсе конфигуратора и приложения тоже не встречал какого-либо планировщика.
Нравится
Здравствуйте!
Запуск процесса в определенное время (при смене регулярного выражения можно добиться других периодов, например, каждые N минут):
http://www.community.terrasoft.ru/forum/topic/24817
Запуск процесса периодично (аналогично синхронизации почты):
http://www.community.terrasoft.ru/forum/topic/13945
Периодичность задается параметром minutelyInterval.
Используется .Net-овская Quartz (соответственно можно нагуглить Cron-выражения для периодов)
Мы для удобной установки триггеров создали вспомогательную утилиту:

Изнутри выглядит это всё как-то так:
[csharp]
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;
}
}
[/csharp]
Коллеги, добрый день!
Для установки параметров запуска бизнес-процессов по расписанию через пользовательский интерфейс, мы выпустили соответствующее дополнение к bpm'online. Надеюсь, будет полезным:)
Подробнее здесь https://marketplace.terrasoft.ru/app/extended-business-process-scheduler