public void ValidateDivided() { var expected = new[] { 0, 3, 6, 9, 12, 15, 18, 21 }; var scheduler = new CronScheduler("* */3"); Assert.Equal(expected, scheduler.Hours); }
public void ValidateIsTimeFixedValue() { var scheduler = new CronScheduler("0"); Assert.True(scheduler.IsTime(DateTime.Parse("2020-09-05 12:00:10"))); Assert.False(scheduler.IsTime(DateTime.Parse("2020-09-05 12:01:10"))); scheduler = new CronScheduler("19 * * 9 *"); Assert.True(scheduler.IsTime(DateTime.Parse("2020-09-05 12:19:10"))); Assert.False(scheduler.IsTime(DateTime.Parse("2020-09-05 12:01:10"))); Assert.False(scheduler.IsTime(DateTime.Parse("2020-10-05 12:19:10"))); }
public void ValidateExpressions() { var scheduler = new CronScheduler(); Assert.True(scheduler.IsValid("*/5")); Assert.True(scheduler.IsValid("* * * * *")); Assert.True(scheduler.IsValid("0 * * * *")); Assert.True(scheduler.IsValid("0,1,2 * * * *")); Assert.True(scheduler.IsValid("*/5 * * * *")); Assert.True(scheduler.IsValid("1-30 * * * *")); Assert.True(scheduler.IsValid("1-30/3 * * * *")); Assert.True(scheduler.IsValid("* 10-20 * * *")); }
public void ValidateWild() { var expectedMinutes = Enumerable.Range(0, 60); var expectedHours = Enumerable.Range(0, 24); var scheduler = new CronScheduler("*"); Assert.Equal(expectedMinutes, scheduler.Minutes); scheduler = new CronScheduler("10-12 *"); Assert.Equal(new[] { 10, 11, 12 }, scheduler.Minutes); Assert.Equal(expectedHours, scheduler.Hours); }
public void ValidateIsTimeDividedValue() { var scheduler = new CronScheduler("*/5"); Assert.True(scheduler.IsTime(DateTime.Parse("2020-09-05 12:45:45"))); Assert.True(scheduler.IsTime(DateTime.Parse("2020-09-05 12:00:34"))); Assert.True(scheduler.IsTime(DateTime.Parse("2020-09-05 12:30:59"))); Assert.True(scheduler.IsTime(DateTime.Parse("2020-09-05 12:55:00"))); Assert.False(scheduler.IsTime(DateTime.Parse("2020-09-05 12:01:00"))); Assert.False(scheduler.IsTime(DateTime.Parse("2020-09-05 12:59:45"))); Assert.False(scheduler.IsTime(DateTime.Parse("2020-09-05 12:59:59"))); Assert.False(scheduler.IsTime(DateTime.Parse("2020-09-05 12:31:50"))); }
public void ValidateDaysOfWeek() { var expected = Enumerable.Range(1, 5); var scheduler = new CronScheduler("* * * 1-5 *"); Assert.Equal(expected, scheduler.Months); expected = new[] { 0, 6 }; scheduler = new CronScheduler("* * * * 0,6"); Assert.Equal(expected, scheduler.DaysOfWeek); }
public void ValidateMonths() { var expected = Enumerable.Range(1, 10); var scheduler = new CronScheduler("* * * 1-10 *"); Assert.Equal(expected, scheduler.Months); expected = new[] { 1, 2, 3, 4, 5 }; scheduler = new CronScheduler("* * * 1,2,3,4,5 *"); Assert.Equal(expected, scheduler.Months); }
public void ValidateIsTimeListValue() { var scheduler = new CronScheduler("* 12,13,14 * * *"); Assert.True(scheduler.IsTime(DateTime.Parse("2020-09-05 12:45:00"))); Assert.True(scheduler.IsTime(DateTime.Parse("2020-09-05 12:55:55"))); Assert.True(scheduler.IsTime(DateTime.Parse("2020-09-05 13:45:40"))); Assert.True(scheduler.IsTime(DateTime.Parse("2020-09-05 14:15:33"))); Assert.True(scheduler.IsTime(DateTime.Parse("2020-09-05 14:32:34"))); Assert.False(scheduler.IsTime(DateTime.Parse("2020-09-05 00:00"))); Assert.False(scheduler.IsTime(DateTime.Parse("2020-09-05 08:00:59"))); Assert.False(scheduler.IsTime(DateTime.Parse("2020-09-05 15:00:00"))); Assert.False(scheduler.IsTime(DateTime.Parse("2020-09-05 23:59:59"))); }
public Program(ILogger logger) { _cancellationTokenSource = new CancellationTokenSource(); Console.CancelKeyPress += (sender, args) => { _cancellationTokenSource.Cancel(); args.Cancel = true; }; var configuration = GetConfiguration(); _cronScheduler = new CronScheduler(GetConfigurationSection <CronConfiguration>(configuration)); _apiClient = new PandaScoreApiClient(GetConfigurationSection <PandaScoreConfiguration>(configuration)); _matchesConfiguration = GetConfigurationSection <MatchesConfiguration>(configuration); _matchEventProducer = new RabbitMqMatchEventProducer("leagueofbets_bets_event_queue"); _logger = logger; }
public void ValidateRange() { var expected = Enumerable.Range(10, 6).ToArray(); var scheduler = new CronScheduler("* 10-15 * * *"); Assert.Equal(expected, scheduler.Hours); scheduler = new CronScheduler("10-15"); Assert.Equal(expected, scheduler.Minutes); expected = new[] { 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30 }; scheduler = new CronScheduler("10-30/2"); Assert.Equal(expected, scheduler.Minutes); }
public void Configure(IApplicationBuilder app, IHostingEnvironment env) { if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } else { app.UseStatusCodePagesWithReExecute("/Error/Status{0}"); app.UseExceptionHandler("/Error"); app.UseHsts(); } // Handle X-Fowarded-Proto to know Nginx is using HTTPS app.UseForwardedHeaders(new ForwardedHeadersOptions { ForwardedHeaders = ForwardedHeaders.XForwardedProto | ForwardedHeaders.XForwardedFor, }); app.UseReact(config => { config .AddScript("~/Content/js/socialfeed.jsx") .SetReuseJavaScriptEngines(false); }); app.UseStaticFiles(); app.UseAuthentication(); app.UseSession(); app.UseMiniProfiler(); app.UseHangfireDashboard(options: new DashboardOptions { Authorization = new[] { new DashboardAuthorizationFilter() } }); // All real routes are defined using attributes. app.UseMvc(); CronScheduler.ScheduleCronjobs(); }
public void Start() { this._Scheduler = CronScheduler.GetInstance(); this._Scheduler.Start(); this._Scheduler.ScheduleClient(10); }
public void TestInitialize() { _cronScheduler = new CronScheduler(); }