Ejemplo n.º 1
0
        public async Task UpdateSiteScheduler(Site siteDto)
        {
            var products = _productWatcherContext.Products
                           .Include(p => p.Site)
                           .Where(p => p.Site.Id == siteDto.Id && !p.IsDeleted);

            var cronSchedulerGenerator = new CronSchedulerGenerator(siteDto.Settings);
            var productSchedulers      = cronSchedulerGenerator.GenerateSchedule(products);

            foreach (var productScheduler in productSchedulers)
            {
                await UpdateProductScheduler(productScheduler.Key, productScheduler.Value);
            }

            _logger.LogInformation($"Обновлено расписание для сайта {nameof(siteDto.Id)}={siteDto.Id}");
        }
Ejemplo n.º 2
0
        public void SampleTest1()
        {
            List<Product> products = new List<Product>
            {
                new Product(),
                new Product(),
            };

            var siteSettings = new SiteSettings
            {
                CheckInterval = TimeSpan.FromMinutes(35)
            };

            var beruCronScheduler = new CronSchedulerGenerator(siteSettings);

            var dic = beruCronScheduler.GenerateSchedule(products);

            foreach (var keyValue in dic)
            {
                var t = JsonSerializer.Serialize(keyValue.Value);
                foreach (var cron in keyValue.Value)
                    Console.WriteLine($"{keyValue.Key} - {cron}");
            }
        }