Tôi phải thực hiện công việc hàng ngày vào lúc nửa đêm Giờ Thái Bình Dương. Tôi đang sử dụng MVC3 với thư viện Quartz.NET.Làm thế nào để bắt đầu một công việc hàng ngày vào cùng một giờ trong Quartz.net?
Đây là mã của tôi:
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();
}
Mã này làm cho công việc này chỉ chạy một lần vào lúc nửa đêm đầu tiên (trong Thái Bình Dương). Tôi đã đặt ở đó .WithSimpleSchedule(x => x.WithIntervalInHours(24).RepeatForever())
nhưng nó không hoạt động - công việc không lặp lại mỗi ngày.
Tôi có thể làm gì để hoạt động hàng ngày?
Bất kỳ trợ giúp nào được đánh giá cao!
Tôi đã sử dụng CronTrigger - nó không hoạt động hoàn hảo. Nó chạy không chính xác khi cần, nhưng đủ gần. – Marta
CronTrigger trông hữu ích –
Trong trường hợp của tôi, việc giảm khoảng thời gian từ 30 phút xuống còn 5 phút sẽ giúp công việc hoạt động bình thường. – dsm