Добрый день! Нужен триггер, который запускается 1 раз в неделю по вс в 1:00:00. Создан процесс, первым элементом котрого идет элемент скрипт, в котором следующее:
"CurrentWorkspace", "CurrentUserName");
ICronTrigger trigger = new CronTriggerImpl("MoveDemoActivitiesTrigger", "TestCronGroup", "0 0 1 ? * SUN *");
AppScheduler.Instance.ScheduleJob(job, trigger);
return true;
далее идет обычный процесс с нужной логикой. Результат:
1. В таблице QRTZ_CRON_TRIGGERS он есть
2. В таблице QRTZ_JOB_DETAILS он есть
3. В таблице QRTZ_TRIGGERS он есть
Регулярное выражение делали на http://www.cronmaker.com
вот оно: 0 0 1 ? * SUN *
Вот только ничего не работает. Почему?
Нравится
[csharp]
string schedulerJobGroupName = "CheckOtkJob";
string jobProcessName = "CheckOtkProcess";
string schedulerJobName = "CheckOtkProcessGroup";
DateTime startDate = currentDateTime;
startDate = startDate.AddDays(-currentDateTime.Day + MonthDay);
if(currentDateTime.Day > MonthDay)
startDate = startDate.AddMonths(1);
int startOffset = 60;
currentDateTime = startDate;
AppScheduler.RemoveJob(schedulerJobName, schedulerJobGroupName);
var job = AppScheduler.CreateProcessJob(schedulerJobName, schedulerJobGroupName, jobProcessName, UserConnection.Workspace.Name, UserConnection.CurrentUser.Name);
var trigger = new SimpleTriggerImpl(schedulerJobName + "Trigger", schedulerJobGroupName, startDate.AddSeconds(startOffset));
AppScheduler.Instance.ScheduleJob(job, trigger);
return true;
[/csharp]
Я добавляю в расписание свой БП вот таким образом. Только естественно вам нужно расчёт времени организовать согласно вашей логике.
Необходимые библиотеки:
Quartz.Impl
Quartz
Quartz.Impl.Triggers
Terrasoft.Core.Scheduler
Приветствую! Не то :( у вас там SimpleTriggerImpl. Интересно же именно с CronTriggerImpl. Хотя можно и так...
Добавьте следующие строчки кода перед строкой AppScheduler.Instance.ScheduleJob(job, trigger); :
[csharp]
trigger.TimeZone = TimeZoneInfo.Utc;
trigger.MisfireInstruction = MisfireInstruction.CronTrigger.FireOnceNow;
[/csharp]
Удалите старый триггер из таблиц, после чего запустите повторное создание триггера.
P.S.
Возможно кому-то пригодится статья.