我几乎用石英在 c# 中完成了简单的应用程序,它定期运行一些 SQL 查询。
我有一个问题,是否可以创建在特定日期开始工作并在此日期之后定期执行一些工作的 cron 触发器。
这是我的代码:
IJobDetails myJob = new JobDetails(); //This Constructor needs to be parameterless i nic na to nie poradzimy
JobDetailImpl jobDetail = new JobDetailImpl(name, gruoupName, myJob.GetType());
//dodawanie parametru
jobDetail.JobDataMap.Add("addParam", item);
//////
CronTriggerImpl trigger = new CronTriggerImpl();
trigger.Name = triggerName;
trigger.Group = grupa;
trigger.CronExpressionString = "0 10 14-15 8 8 ?";
try
{
_scheduler.ScheduleJob(jobDetail, trigger);
}
catch
{
MessageBox.Show("INVALID TRIGGER. JOB CANCELED");
}
DateTimeOffset? nextFireTime = trigger.GetNextFireTimeUtc().Value.AddHours(2);
Console.WriteLine("Job o jobs_id=" + item.jobs_id + " start:" + nextFireTime.Value);
例如:今天是 1.08.2013,今天我想创建从 2013 年 8 月 8 日开始的 crone 触发器,并且每天从下午 2:00 到下午 3:00 每 10 分钟触发一次 SQL 查询。
目前我知道如何制作从 8.08.2013 开始并运行一次的 crone 触发器,并且知道如何创建第二个 crone 触发器,它每天从下午 2:00 到下午 3:00 每 10 分钟运行一次,但我仍然不知道如何marge 这 2 个 crone 触发器并创建一个:它从 8.08.2013 开始,在 8.08.2013 之后每天运行,并且每天从下午 2:00 到下午 3:00 每 10 分钟触发一次 SQL 查询。
我尝试使用:
trigger.FinalFireTimeUtc(someDate);
trigger.SetNextFireTimeUtc(someDate)
但没有任何积极的结果。Job 就像它的 cronExpressionString 所说的那样触发。
非常感谢您的帮助。