private static void CountStats(object o) { if (DateTime.Now >= _timeLine) { _timeLine = _timeLine.AddSeconds(_config.CoreDelay / 5.0); if (DateTime.Now >= _timeLine) { if (++_failCount > 5) { _config.CoreDelay *= 2; _failCount = 0; } } else { _failCount = 0; } var slot = _requestSlots[_currentSlotIndex]; if (_currentSlotIndex >= _requestSlots.Length - 1) { _currentSlotIndex = 0; } else { _currentSlotIndex++; } _currentSlot = _requestSlots[_currentSlotIndex]; slot.Reset(); var stats = new Dictionary <Guid, DomainStatistics>(); _requestSlots.Each(i => i.Count(stats)); foreach (var statItem in stats.Values) { var selector = (IPageSelector)statItem; var statCount = new DomainStatisticsData(statItem); if (selector.SelectorType == (int)PageSelectorType.DomainPattern) { _statisticsModule.SetDomainStatistics(new DomainSelector(DomainSelector.TotalDomain, selector.Id), statCount); } _statisticsModule.SetDomainStatistics(selector, statCount); } } }
private static void DomainStatisticsHandler(object sender, EventArgs <DomainStatistics> e) { try { var data = e.Data; //ServiceLocator.LoggerService.Info(string.Format("Id:{0}, Count:{1}, Date: {2}",data.Id,data.Count, DateTime.Now.TimeOfDay)); _domainStatistics.SetDomainStatistics(e.Data, new DomainStatisticsData(e.Data)); } catch (Exception ex) { ex.ToString(); } }