Exemple #1
0
        /// <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);
        }