【发布时间】:2012-05-09 23:05:03
【问题描述】:
我必须每天在太平洋时间午夜执行工作。我正在使用 MVC3 和 Quartz.NET 库。
这是我的代码:
public static void ConfigureQuartzJobs()
{
ISchedulerFactory schedFact = new StdSchedulerFactory();
IScheduler sched = schedFact.GetScheduler();
DateTime dateInDestinationTimeZone = System.TimeZoneInfo
.ConvertTimeBySystemTimeZoneId(DateTime.UtcNow, System.TimeZoneInfo.Utc.Id, "Pacific Standard Time").Date;
IJobDetail job = JobBuilder.Create<TimeJob>()
.WithIdentity("job1", "group1")
.Build();
ITrigger trigger = TriggerBuilder.Create()
.WithIdentity("trigger1", "group1")
.StartAt(dateInDestinationTimeZone)
.WithSimpleSchedule(x => x.WithIntervalInHours(24).RepeatForever())
.Build();
sched.ScheduleJob(job, trigger);
sched.Start();
}
此代码使该作业仅在第一个午夜(太平洋时间)运行一次。我在那里设置了.WithSimpleSchedule(x => x.WithIntervalInHours(24).RepeatForever()),但它不起作用 - 工作不是每天都在重复。
我该怎么做才能让它每天都正常工作?
【问题讨论】:
标签: c# asp.net-mvc-3 scheduling quartz.net