/// <summary> /// Create the Quartz job based on configuration settings /// </summary> /// <param name="job">The health check job.</param> /// <param name="group">The group this health check job belongs to.</param> /// <returns>The Quartz job.</returns> public IHealthCheckJob InitializeCheckJob(IHealthCheckJob job, HealthCheckGroup @group) { _log.Debug("Initializing job: " + job.JobConfiguration.Name); var checkConfiguration = job.JobConfiguration; var plugin = _factory.GetPlugin(checkConfiguration.Type); plugin.Name = checkConfiguration.Name; plugin.GroupName = @group.Name; job.Plugin = plugin; if (checkConfiguration.Settings != null) { plugin.SetTaskConfiguration(checkConfiguration.Settings); } job.Listeners = CreateListeners(checkConfiguration); job.Triggers = CreateTriggers(checkConfiguration); plugin.Startup(); return(job); }