public void HeartbeatReceived(Heartbeat heartbeat) { Action w = () => { if (!_hearbeatIndex.ContainsKey(heartbeat.Key)) { Heartbeats.Add(new SelectableDataItem(heartbeat.Message)); _hearbeatIndex.TryAdd(heartbeat.Key, heartbeat); } else { var item = Heartbeats.FirstOrDefault(s => s.Value.ToString().Contains(heartbeat.Key)); item.Value = heartbeat.Message; _hearbeatIndex.AddOrUpdate(heartbeat.Key, heartbeat, (n, oldValue) => heartbeat); // resuscitate if (heartbeat.Key == StaleModule) { HeartbeatLost = Visibility.Collapsed; } } }; DispatcherFacade.AddToDispatcherQueue(w); }
public void HandleHeartbeat(Heartbeat heartbeat) { Heartbeat = heartbeat; Heartbeats.Add(heartbeat); ChartModel.InvalidatePlot(true); }
/// <summary> /// 联网获取 Heartbeats 数据 /// </summary> /// <param name="apiKey"></param> /// <param name="date"></param> /// <returns></returns> private static List <Heartbeats> GetHeartbeats(string apiKey, DateTime date) { try { string heartbeatsUrl = string.Format("{0}heartbeats?api_key={1}&date={2}", BaseUrl, apiKey, date.ToString("yyyy-MM-dd")); JToken root = HttpTool.Get <JToken>(heartbeatsUrl, "gb2312"); JToken heartbeats = root.SelectToken("data"); List <Heartbeats> result = new List <Heartbeats>(); foreach (var item in heartbeats) { Heartbeats obj = item.ToObject <Heartbeats>(); obj.time = Math.Round(obj.time, 2); result.Add(obj); } return(result); } catch (Exception e) { } return(null); }
public static void OnQuit() { HTTPManager.Logger.Information("HTTPManager", "OnQuit called!"); IsQuitting = true; AbortAll(); #if !BESTHTTP_DISABLE_CACHING HTTPCacheService.SaveLibrary(); #endif #if !BESTHTTP_DISABLE_COOKIES CookieJar.Persist(); #endif OnUpdate(); HostManager.Clear(); Heartbeats.Clear(); }