Beispiel #1
0
        private static DateTimeOffset NextDateForHour(int minutes, int seconds)
        {
            DateTime now = DateTime.Now;

            if (now.Minute < minutes || now.Minute == minutes && now.Second < seconds)
            {
                return(DateBuilder.DateOf(now.Hour, minutes, seconds));
            }
            else if (now.Hour < 23)
            {
                return(DateBuilder.DateOf(now.Hour + 1, minutes, seconds));
            }
            else
            {
                return(DateBuilder.TomorrowAt(0, minutes, seconds));
            }
        }
Beispiel #2
0
        public static async void Start()
        {
            IScheduler scheduler = await StdSchedulerFactory.GetDefaultScheduler();

            await scheduler.Start();

            IJobDetail job = JobBuilder.Create <MailSender>().Build();

            // job is made 00:00:01 every day
            ITrigger trigger = TriggerBuilder.Create()
                               .WithIdentity("uaReportTrigger", "uaReportGroup")
                               .StartAt(DateBuilder.TomorrowAt(0, 0, 1))
                               .WithSimpleSchedule(x => x
                                                   .WithIntervalInHours(24)
                                                   .RepeatForever())
                               .Build();

            await scheduler.ScheduleJob(job, trigger);
        }