Я использую Quartz.NET для делать каждый день задач в определенный час, и это мой код:Расписание задача запускать каждый день в определенное время с Quartz.NET
public class TestSchedule : ISchedule
{
public void Run()
{
DateTimeOffset startTime = DateBuilder.FutureDate(2, IntervalUnit.Second);
IJobDetail job = JobBuilder.Create<HelloJob>()
.WithIdentity("job1")
.Build();
ITrigger trigger = TriggerBuilder.Create()
.WithIdentity("trigger1")
.StartAt(startTime)
.WithDailyTimeIntervalSchedule(x => x.OnEveryDay().StartingDailyAt(new TimeOfDay(7, 0)).WithRepeatCount(0))
.Build();
ISchedulerFactory sf = new StdSchedulerFactory();
IScheduler sc = sf.GetScheduler();
sc.ScheduleJob(job, trigger);
sc.Start();
}
}
мой код работает , но проблема в том, что работает только один раз (кажется, что это потому, что WithRepeatCount(0)
) теперь, как можно сказать, что они работают каждый день в 7 часов?
PS: Я не хочу использовать CronTrigger
для этого.
спасибо вашей посоветуйте
Другим решением было бы '.EndingDailyAfterCount (1)' вместо '.WithIntervalInHours (24)'. Таким образом, вы не столкнетесь с проблемами, связанными с DST (летнее время). – Christian