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}"); }
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}"); } }