コード例 #1
0
        public async void AddEvent(IScheduledEventMetadata data, DateTime time)
        {
            var now      = time.ToLocalTime();
            var cronexpr = $"{now.Second} {now.Minute} {now.Hour} {now.Day} {now.Month} ? {now.Year}";
            var map      = new JobDataMap
            {
                { QuartzJob.MetadataKey, data },
                { QuartzJob.EventKey, JobExecuted }
            };

            var job = JobBuilder.Create <QuartzJob>()
                      .WithIdentity($"{data} {now}")
                      .SetJobData(map)
                      .Build();

            var trigger = TriggerBuilder.Create()
                          .WithIdentity($"{data} {now}")
                          .StartNow()
                          .WithCronSchedule(cronexpr)
                          .Build();

            if (!(await Scheduler.CheckExists(job.Key)))
            {
                await Scheduler.ScheduleJob(job, trigger);
            }
        }
コード例 #2
0
 public ScheduleEventHandlerArgs(DateTime time, IScheduledEventMetadata metaData)
 {
     Time = time;
     ScheduledEventMetadata = metaData;
 }