Добрый день!
Необходимо вызвать планировщик задач из бизнес процесса на запуск другого бизнес процесса в определенное время. В первом бизнес процессе идет обработка объекта с определенным id, есть ли какой либо способ через планировщик передать это id вызванному в указанное время бизнес процессу, для последующей работы с объектом?
Нравится
Здравствуйте!
Для передачи параметров в процесс, который запускается из планировщика – необходимо использовать словарь.
Здравствуйте, Олег!
Как я поняла, этот метод запустит бизнес процесс сразу после создания джобы. Или там есть какой то анализ параметра starttime в словаре, как даты запуска процесса?
"Родионова Ольга Валентиновна" написал:запустит бизнес процесс сразу после создания джобы
в случае ScheduleImmediateProcessJob, да. всё, что в параметрах - кидается в процесс.
А есть ли какой то способ запустить бизнес процесс в указанное время и при этом передать в него параметр?
В своё время суппорт террасофта кидал мне такое решение
string userName = ....; //- Имя пользователя, от которого запускается бп var userConnection = ....; string schedulerJobGroupName = "MyProcessGroup";//- Любое имя группы триггеров string jobProcessName = "MyBusinessProcess"; //- Название процесса, который нужно запустить string schedulerJobName = "MyJobName"; //- Любое имя int startOffset = 100; //- Количество секунд до старта IDictionary<string, string> parameters = new Dictionary<string, string>(); parameters["Param1"] = ....; var job = AppScheduler.CreateProcessJob(schedulerJobName, schedulerJobGroupName, jobProcessName, userConnection.Workspace.Name, userName, parameters); var trigger = new SimpleTriggerImpl(schedulerJobName + "Trigger", schedulerJobGroupName, DateTime.UtcNow.AddSeconds(startOffset)); AppScheduler.Instance.ScheduleJob(job, trigger);
Если вам не подойдёт, посмотрите в VisualStudio параметры создания триггера
new Quartz.Impl.Triggers.SimpleTriggerImpl(...)
Там куча вариантов. И единоразовый, и с повторениями, и который запускается в определённое время и повторяется с определённым интервалом.
Коллеги, добрый день!
Для установки параметров запуска бизнес-процессов по расписанию через пользовательский интерфейс, мы выпустили соответствующее дополнение к bpm'online. Надеюсь, будет полезным:)
Подробнее здесь https://marketplace.terrasoft.ru/app/extended-business-process-scheduler