Передача параметра при запуске планировщика

Добрый день!
Необходимо вызвать планировщик задач из бизнес процесса на запуск другого бизнес процесса в определенное время. В первом бизнес процессе идет обработка объекта с определенным id, есть ли какой либо способ через планировщик передать это id вызванному в указанное время бизнес процессу, для последующей работы с объектом?

Нравится

7 комментариев

Здравствуйте!

Для передачи параметров в процесс, который запускается из планировщика – необходимо использовать словарь.

qrtz_with_param.txt

Здравствуйте, Олег!
Как я поняла, этот метод запустит бизнес процесс сразу после создания джобы. Или там есть какой то анализ параметра 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

Показать все комментарии