Her 5 dakika için tekrar aralığı olan, zamanlanmış bir işim var. İyi çalışıyor.Quartz.NET işlemi eşzamanlı olarak nasıl yapılır?
Ama ilk işimin 5 dakika içinde bitmediği ve ikinci bir işin başladığı bir durumum var (5 dakika için planlandığı gibi).
Bunu yapmak istemiyorum, her seferinde sadece bir iş çalışıyor olmalı. Bunu nasıl yapabilirim?
Bu benim kodudur: Ben Quartz.net biraz kullandım
ISchedulerFactory schedFact = new StdSchedulerFactory();
IScheduler sched = schedFact.GetScheduler();
Trigger emailTrigger = TriggerUtils.MakeMinutelyTrigger(5);
emailTrigger.StartTimeUtc = TriggerUtils.GetEvenMinuteDate(DateTime.UtcNow);
emailTrigger.Name = "EmailTrigger";
JobDetail emailJobDetail = new JobDetail("EmailJob", null, typeof(EmailJob));
sched.ScheduleJob(emailJobDetail, emailTrigger);
sched.Start();
Beklemek zorunda bile değil; senkronizasyon mekanizmasını deneyebilir ve yakalayabilir. Başarısız olursa, iş tamamlanmış ve yapılmalıdır. Eğer yakalarsa, o zaman işlenmelidir. "Yakalama" yok. Tabii ki, atlandığı gerçeği günlüğe kaydedilmeli ve bu noktadaki program tekrar değerlendirilmelidir. – casperOne