Exemplo n.º 1
0
        public void ValidateDivided()
        {
            var expected = new[] { 0, 3, 6, 9, 12, 15, 18, 21 };

            var scheduler = new CronScheduler("* */3");

            Assert.Equal(expected, scheduler.Hours);
        }
Exemplo n.º 2
0
        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")));
        }
Exemplo n.º 3
0
        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 * * *"));
        }
Exemplo n.º 4
0
        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);
        }
Exemplo n.º 5
0
        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")));
        }
Exemplo n.º 6
0
        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);
        }
Exemplo n.º 7
0
        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);
        }
Exemplo n.º 8
0
        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")));
        }
Exemplo n.º 9
0
        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;
        }
Exemplo n.º 10
0
        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);
        }
Exemplo n.º 11
0
        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();
        }
Exemplo n.º 12
0
 public void Start()
 {
     this._Scheduler = CronScheduler.GetInstance();
     this._Scheduler.Start();
     this._Scheduler.ScheduleClient(10);
 }
Exemplo n.º 13
0
 public void TestInitialize()
 {
     _cronScheduler = new CronScheduler();
 }