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