И снова - периодический запуск бизнес-процесса по интервалу
Всем доброго времени суток. Версия 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?
Нравится
Добрый день!
Скорее всего, выполнение запроса откладывается в связи с большим количеством триггеров в приложении на данный момент. Необходимо после выполнения первого процесса проверить таблицу qrtz_triggers, обратив внимание на состояние и время следующего запуска созданного UsrLogNowDateJob, и как оно изменяется со временем.