public void SaveNewsInFiles() { var newsDic = newsStore.ReceiveAllData(); foreach (var chanNews in newsDic) { if (chanNews.Value == null || chanNews.Value.Count == 0) { continue; } var fileName = MakeFileNameFromChannelId(chanNews.Key); try { using (var sw = new StreamWriter(fileName, false, Encoding.UTF8)) { foreach (var news in chanNews.Value) { sw.WriteLine(news.ToString()); } } } catch (Exception ex) { Logger.ErrorFormat("SaveNewsInFiles(), file \"{0}\" error: {1}", fileName, ex); } } }
private void ThreadSafeStorageCopy(object sender, DoWorkEventArgs doWorkEventArgs) { var count = (int)doWorkEventArgs.Argument; var beginTime = DateTime.Now; while (count > 0) { var data = threadSafeStorage.ReceiveAllData(); count--; } doWorkEventArgs.Result = (int)DateTime.Now.Subtract(beginTime).TotalMilliseconds; }
private void StoreEventsInDb(object logMsg) { try { using (var ctx = DatabaseContext.Instance.Make()) { // удалить старые сообщения ctx.ClearOldUserEvents(new DateTime(1900, 1, 1)); // сохранить новые var countTotal = 0; var events = userEvent.ReceiveAllData(); foreach (var evtList in events) { var evtToSave = evtList.Value.Take(100).Reverse().ToList(); countTotal += evtToSave.Count; foreach (var evt in evtToSave) { var usEvt = LinqToEntity.UndecorateUserEvent(evt); ctx.USER_EVENT.Add(usEvt); } } ctx.SaveChanges(); if ((bool)logMsg) { Logger.InfoFormat("Сохранено {0} записей USER_EVENT", countTotal); } } } catch (Exception ex) { Logger.Error("Ошибка в UserEventStorage.StoreEventsInDb()", ex); } }
public PerformerStat GetPerformerStatBySignalCatId(int signalCatId) { // данные не готовы к работе if (!cacheUpdated) { return(null); } try { return((from pair in dicPerformers.ReceiveAllData() where pair.Value.Statistics.Service == signalCatId select pair.Value.Statistics).FirstOrDefault()); } catch (Exception ex) { Logger.Error("Ошибка в GetPerformerStatBySignalCatId", ex); return(null); } }
public Dictionary <int, ChatRequest> GetPendingRequests() { /*if (!pendingRequestsLock.TryEnterReadLock(lockTimeout)) * { * Console.WriteLine("ChatSender.GetPendingRequests: pendingRequestsReadLock timeout"); * return new Dictionary<int, ChatRequest>(); * } * try * { * return pendingRequests.ToDictionary(r => r.Key, r => new ChatRequest(r.Value)); * } * finally * { * pendingRequestsLock.ExitReadLock(); * }*/ return(pendingRequests.ReceiveAllData() .ToDictionary(chatRequest => chatRequest.Key, chatRequest => new ChatRequest(chatRequest.Value))); }