我需要每天在太平洋时间午夜执行一项任务。我正在使用带有Quartz.NET库的MVC3。
这是我的代码:
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())
,但它并不起作用——工作不会每天重复执行。如何让它每天都能执行?