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); } }
public ScheduleEventHandlerArgs(DateTime time, IScheduledEventMetadata metaData) { Time = time; ScheduledEventMetadata = metaData; }