/// <summary> /// Registers a job with the quartz scheduler /// </summary> /// <param name="quartzFeature">The quertz feature</param> /// <param name="triggerFunc">the job trigger delegate</param> public static void RegisterJob <TJob>(this QuartzFeature quartzFeature, Func <TriggerBuilder, ITrigger> triggerFunc) where TJob : IJob { // Register job with Trigger quartzFeature.RegisterJob( triggerFunc.Invoke(TriggerBuilder.Create()), JobBuilder.Create <TJob>().WithIdentity(quartzFeature.GetJobIdentity <TJob>()).Build()); }
/// <summary> /// Registers a job with the quartz scheduler /// </summary> /// <param name="quartzFeature">The quartz feature</param> /// <param name="trigger">the job trigger</param> public static void RegisterJob <TJob>(this QuartzFeature quartzFeature, ITrigger trigger) where TJob : IJob { // Register job with Trigger quartzFeature.RegisterJob(trigger, JobBuilder.Create <TJob>() .WithIdentity(quartzFeature.GetJobIdentity <TJob>()).Build()); }
/// <summary> /// Registers a job with the quartz scheduler /// </summary> /// <typeparam name="TJob">The job type</typeparam> /// <param name="quartzFeature">the funq container</param> /// <param name="triggerFunc">the trigger delegate</param> /// <param name="jobDetailFunc">the jobdetail delegate</param> public static void RegisterJob <TJob>(this QuartzFeature quartzFeature, Func <TriggerBuilder, ITrigger> triggerFunc, Func <JobBuilder, IJobDetail> jobDetailFunc) where TJob : IJob { var triggers = triggerFunc.Invoke(TriggerBuilder.Create().WithIdentity(quartzFeature.GetTriggerIdentity <TJob>())); var jobDetail = jobDetailFunc.Invoke(JobBuilder.Create <TJob>().WithIdentity(quartzFeature.GetJobIdentity <TJob>())); quartzFeature.RegisterJob(triggers, jobDetail); }