public async Task CarregaJogosDeAmanha(bool descending = false, bool headless = false, bool ignorarHorario = false) { while (ResultadosSiteHelper.CarregandoJogos) { await Task.Delay(400000); } var idContainer = _idContainerRepository.TrazerIdContainerAmanha(); if (idContainer != null && !ignorarHorario) { return; } bool depoisDasSete = DateTime.Now >= new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, 19, 00, 00); if (depoisDasSete || ignorarHorario) { var data = DateTime.Now.Date.AddDays(1).Date; _telegramService.EnviaMensagemParaOGrupo($"Carregando Jogos de Amanhã {data}"); var container = _idContainerRepository.TrazerIdContainerAmanha(); if (container == null || !container.Ids.Any()) { IWebDriver wd3 = SeleniumHelper.CreateDefaultWebDriver(headless); ResultadoSiteService rs3 = new ResultadoSiteService(wd3); container = await rs3.SalvaJogosIds(true); wd3.Dispose(); GC.Collect(); } IWebDriver wd1 = SeleniumHelper.CreateDefaultWebDriver(headless); ResultadoSiteService rs1 = new ResultadoSiteService(wd1); IWebDriver wd2 = SeleniumHelper.CreateDefaultWebDriver(headless); ResultadoSiteService rs2 = new ResultadoSiteService(wd2); await Task.Delay(5000); Console.WriteLine($"Salvando Jogos De Amanhã as {DateTime.Now}"); Task.Factory.StartNew(async() => { await rs2.SalvaJogosDeAmanha(container, false, wd2); }); await rs1.SalvaJogosDeAmanha(container, true, wd1); ResultadosSiteHelper.CarregandoJogos = false; wd1.Dispose(); wd2.Dispose(); var jogos = _jogoRepository.TrazJogosPorIds(container.Ids.Select(ji => ji.Id).ToArray()); var jogosFSOuDobro = jogos.Where(j => j.UmTimeFazMaisGolEOutroSofreMaisGolTotal).Distinct().ToList(); var primeiroJogo = jogosFSOuDobro.OrderBy(p => p.DataInicio.TimeOfDay).FirstOrDefault(); _telegramService.EnviaMensagemParaOGrupo($"{jogosFSOuDobro.Count} jogo(s) sera(ão) analisado(s) dia {data} com Inicio as {primeiroJogo.DataInicio.TimeOfDay}"); await TentaCarregarJogosComErroHoje(); } }
public async Task SalvaJogosAmanha(int qtdWebDrivers = 1, bool headless = false) { FirefoxOptions options = new FirefoxOptions(); IWebDriver wd1 = new FirefoxDriver(_configuration.DriverFirefoxPath, options, TimeSpan.FromDays(1)); IWebDriver wd2 = new FirefoxDriver(_configuration.DriverFirefoxPath, options, TimeSpan.FromDays(1)); wd1.Manage().Timeouts().PageLoad = new TimeSpan(10, 0, 0); wd2.Manage().Timeouts().PageLoad = new TimeSpan(10, 0, 0); try { ResultadosSiteHelper.CarregandoJogos = true; ResultadoSiteService rs1 = new ResultadoSiteService(wd1); ResultadoSiteService rs2 = new ResultadoSiteService(wd2); Task.Factory.StartNew(async() => { await rs2.SalvaJogosDeAmanha(); }); await Task.Delay(TimeSpan.FromMinutes(15)); await rs1.SalvaJogosDeAmanha(true); ResultadosSiteHelper.CarregandoJogos = false; wd1.Dispose(); wd2.Dispose(); } catch (Exception e) { _telegramService.EnviaMensagemParaOGrupo("Erro app: " + e.Message); wd1.Dispose(); wd2.Dispose(); } }