using Hangfire; using Newsbot.Collector.Domain.Consts; using Newsbot.Collector.Services.Jobs; namespace Newsbot.Collector.Api; public static class BackgroundJobs { public static void SetupRecurringJobs(IConfiguration configuration) { RecurringJob.AddOrUpdate("RSS", x => x.InitAndExecute(new RssWatcherJobOptions { ConnectionString = configuration.GetValue(ConfigConst.ConnectionStringDatabase), OpenTelemetry = configuration.GetValue(ConfigConst.ConnectionStringOpenTelemetry), IsEnabled = configuration.GetValue(ConfigConst.RssIsEnabled) }), "15 0-23 * * *"); RecurringJob.AddOrUpdate("Youtube", x => x.InitAndExecute(new YoutubeWatcherJobOptions { DatabaseConnectionString = configuration.GetValue(ConfigConst.ConnectionStringDatabase), OpenTelemetryConnectionString = configuration.GetValue(ConfigConst.ConnectionStringOpenTelemetry), IsEnabled = configuration.GetValue(ConfigConst.YoutubeIsEnable) }), "20 0-23 * * *"); RecurringJob.AddOrUpdate("Discord Alerts", x => x.InitAndExecute(new DiscordNotificationJobOptions { ConnectionString = configuration.GetValue(ConfigConst.ConnectionStringDatabase), OpenTelemetry = configuration.GetValue(ConfigConst.ConnectionStringOpenTelemetry), IsEnabled = configuration.GetValue(ConfigConst.DiscordNotificationsEnabled) }), "5/10 * * * *"); } }