public DataTable GetDeviceInfo() { DataTable dataTable = new DataTable() { TableName = "DResults" }; dataTable.Columns.Add("ID", typeof(Guid)); dataTable.Columns.Add("DetectionCount", typeof(int)); dataTable.Columns.Add("DetectionFaces", typeof(int)); dataTable.Columns.Add("DSState", typeof(string)); dataTable.Columns.Add("CPUUsage", typeof(int)); dataTable.Columns.Add("ThreadCount", typeof(int)); dataTable.Columns.Add("MaxThreadCount", typeof(int)); dataTable.Columns.Add("FrameCount", typeof(int)); int cpuUsage = DetectorServer.GetCpuUsage(); int processorCount = Environment.ProcessorCount; int num = Enumerable.Sum <KeyValuePair <Guid, Detector> >((IEnumerable <KeyValuePair <Guid, Detector> >)DetectorServer.Detectors, (Func <KeyValuePair <Guid, Detector>, int>)(kvp => kvp.Value.Count)); foreach (KeyValuePair <Guid, Detector> keyValuePair in DetectorServer.Detectors) { BcDevices device = keyValuePair.Value.Device; if (device != null) { dataTable.Rows.Add((object)keyValuePair.Key, (object)device.DetectionCount, (object)device.DetectionFaces, (object)"Работает", (object)cpuUsage, (object)num, (object)processorCount, (object)device.FrameCount); } } if (dataTable.Rows.Count == 0) { dataTable.Rows.Add((object)Guid.Empty, (object)0, (object)0, (object)"Работает", (object)cpuUsage, (object)num, (object)processorCount); } return(dataTable); }
private static void TryRefreshDevices() { try { DetectorServer.SyncCurrentAndActualDevices(BcDevicesStorageExtensions.LoadByDsid(DetectorServer.MainServer.Id)); } catch (Exception ex) { DetectorServer.Logger.Error((object)"refresh device error ", ex); } }
public static async void RefreshDevicesLoop() { while (!DetectorServer.StopFlag) { if (DetectorServer._isLoaded) { DetectorServer.TryRefreshDevices(); } await Task.Delay(10000); } }
public void SetDevice(Guid id, Hashtable row, bool delete) { try { DetectorServer.TryRefreshDevices(); } catch (Exception ex) { DetectorServer.Logger.Error((object)"Error set device", ex); } }
public static void LoadServer(Guid serverId) { DetectorServer.Logger.Info((object)(" Server Loaded - ServerID -" + (object)serverId)); try { DetectorServer.TryRefreshDevices(); DetectorServer.MainServer = BcDetectorServer.LoadById(serverId); } catch (Exception ex) { DetectorServer.Logger.Error((object)ex); } DetectorServer._isLoaded = true; }