private string ProxiedDownload(string url, int i) { var result = ProxiedDownload(url); Logger.LogInfo("ProxiedDownload", "Success", true, "Attempts", i + 1, "Url", url); return(result); }
public void Process(ZipCode zipCode) { Logger.LogInfo("Processing", nameof(zipCode), zipCode.Zip); Logger.LogInfo("Downloading Stores", nameof(zipCode), zipCode.Zip); StoreInfo[] stores; try { stores = _downloader.Download(zipCode).ToArray(); Logger.LogInfo("Stores Data Downloaded", "storesCount", stores.Length, nameof(zipCode), zipCode.Zip); } catch (WebException ex) { if (_webExceptionHandler.ShouldBubbleUpException(ex)) { throw; } LogFailure(zipCode); return; } _storesPersistor.Persist(stores); _zipCodeDataService.UpdateZipCode(zipCode.Zip); LogSuccess(zipCode); _deadlockDetector.UpdateStatus(); }
public static string InstrumentedDownload(this WebRequest request, Func <WebRequest, String> downloader) { var stopwatch = Stopwatch.StartNew(); var url = request.RequestUri.AbsoluteUri; Logger.LogDebug("Download", nameof(url), url, "Proxy", request.GetProxyString()); try { var result = downloader(request); var kbytes = Convert.ToInt32(result.Length / 1024); stopwatch.Stop(); Logger.LogInfo("Download", "KBytes", kbytes, "Result", true, "ElapsedMs", stopwatch.ElapsedMilliseconds); return(result); } catch (WebException e) { stopwatch.Stop(); Logger.LogError("Download Error", e, nameof(url), url, "ElapsedMs", stopwatch.ElapsedMilliseconds); throw; } }
public void Persist(IEnumerable <StoreInfo> storesEnumerableParam) { var allStores = (storesEnumerableParam ?? new StoreInfo[] {}).ToArray(); var storesToPersist = allStores .Where(_ => !_persistenceCalculator.WasPersistedRecently(_.StoreNumber)) .ToArray(); var numbersToPersist = storesToPersist.Select(_ => _.StoreNumber).ToArray(); Logger.LogInfo("Saving Stores", "totalCount", allStores.Length, "count", numbersToPersist.Length); if (numbersToPersist.Length == 0) { return; } var numbersToUpdate = (_dataService.ContainsStore(numbersToPersist)).ToArray(); var numbersToCreate = numbersToPersist.Except(numbersToUpdate).ToArray(); var storesToUpdate = storesToPersist.Where(_ => numbersToUpdate.Contains(_.StoreNumber)).ToArray(); var storesToCreate = storesToPersist.Where(_ => numbersToCreate.Contains(_.StoreNumber)).ToArray(); Logger.LogDebug("Creating Stores", "count", storesToCreate.Length); _dataService.CreateNew(storesToCreate); Logger.LogDebug("Updating Stores", "count", storesToUpdate.Length); _dataService.Update(storesToUpdate); foreach (var storeNumber in numbersToPersist) { _persistenceCalculator.PreventFuturePersistence(storeNumber); } }
private void InvokeGarbageCollection() { var stopwatch = Stopwatch.StartNew(); var shouldCollect = AcquireCollectionLock(); Logger.LogInfo("InvokeGarbageCollectionStart", "ShouldCollect", shouldCollect); if (shouldCollect) { CollectInternal(); } stopwatch.Stop(); Logger.LogInfo("InvokeGarbageCollection", "Result", true, "ShouldCollect", shouldCollect, "ElapsedMs", stopwatch.ElapsedMilliseconds ); }
private void Init() { if (_initialized) { return; } _initialized = true; Logger.LogInfo("Init", nameof(IsEnabled), IsEnabled, nameof(TimeoutMs), TimeoutMs); StartTimer(); }