Вопрос

И снова - периодический запуск бизнес-процесса по интервалу

Всем доброго времени суток. Версия 7.11.

Создал два процесса. В обоих просто задание-сценарий, запуск по пустому сигналу. Код внутри первого:

var userConnection = Get<UserConnection>("UserConnection");
 
string processName = "UsrLogNowDate";
string jobName = processName + "Job";
string jobGroupName = jobName + "Group";
 
int startOffset = 80; // 80 секунд
AppScheduler.RemoveJob(jobName, jobGroupName);
var job = AppScheduler.CreateProcessJob(jobName, jobGroupName, processName, userConnection.Workspace.Name, userConnection.CurrentUser.Name);
var trigger = new SimpleTriggerImpl(jobName + "Trigger", jobGroupName, DateTime.UtcNow.AddSeconds(startOffset));
AppScheduler.Instance.ScheduleJob(job, trigger);
 
return true;

В Usings соответственно добавлены: 

Quartz.Impl

Quartz

Quartz.Impl.Triggers

Terrasoft.Core.Scheduler

UsrLogNowDate - это второй процесс, представляет собой простое логирование текущей даты в справочник UsrTriggersLog. Код второго:

var userConnection = Get<UserConnection>("UserConnection");
new Insert(userConnection).Into("UsrTriggersLog").Set("Name", Column.Parameter(DateTime.Now.ToString())).Set("Description", Column.Parameter("Записано автоматически.")).Execute();
return true;

Оба процесса компилируются без ошибок, второй при запуске по кнопке нормально логирует требуемую запись.

Запускаю первый (по кнопке). Процесс запускается, отрабатывает без ошибок, судя по журналу, завершается, но ничего не происходит.

Где ошибка? Как правильно запускать такие процессы в 7.11?

Нравится

1 комментарий

Добрый день!



Скорее всего, выполнение запроса откладывается в связи с большим количеством триггеров в приложении на данный момент. Необходимо после выполнения первого процесса проверить таблицу qrtz_triggers, обратив внимание на состояние и время следующего запуска созданного UsrLogNowDateJob, и как оно изменяется со временем.

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