예제 #1
0
        private static void UpdateMonitor()
        {
            TDConfiguration configuration;
            _monitorPollItems = new List<PollItem>();
            if (xmlConfigurationFileName == null) {
                configuration = CreateTestConfiguration();
            }
            else {
                configuration = TDConfiguration.CreateConfigurationByXML(xmlConfigurationFileName);
            }

            FillMonitorItems(configuration);

            TDProcessManager processManager = new TDProcessManager(configuration);
            processManager.StartAllProcesses();
            DateTime lastUpdateStamp;
            lastUpdateStamp = DateTime.Now;
            string itemID;
            string itemValue;
            System.Threading.Thread.Sleep(1000);
            while (!isStop) {
                if (lastUpdateStamp != processManager.CurrentDataManager.GetLastUpdatedTimestamp) {
                    foreach (PollItem item in _monitorPollItems) {
                        try {
                            itemValue = item.GetLastValue().Value.ToString();
                            itemID = item.ItemName;
                            Console.WriteLine("{0} = {1}", itemID, itemValue);
                        }
                        catch{
                        }
                    }
                    lastUpdateStamp = processManager.CurrentDataManager.GetLastUpdatedTimestamp;
                    System.Threading.Thread.Sleep(500);
                }
            }
            processManager.StopAllProcesses();
            autoResetEvent.Set();
        }
예제 #2
0
        private static void UpdateMonitor()
        {
            TDConfiguration configuration;
            _monitorPollItems = new List<PollItem>();
            ShowConsoleMessage("Init configuration");
            if (xmlConfigurationFileName == null) {
                configuration = CreateTestConfiguration();
            }
            else {
                configuration = TDConfiguration.CreateConfigurationByXML(xmlConfigurationFileName);
            }

            FillMonitorItems(configuration);

            IDataStore dataStore = new SQLDataStore(Properties.Settings.Default.ConnectingString);
            TDProcessManager processManager = null;
            ShowConsoleMessage("Init process manager");
            processManager = new TDProcessManager(configuration, dataStore);
            ShowConsoleMessage("Start poll process");
            processManager.StartAllProcesses();
            DateTime lastUpdateStamp;
            lastUpdateStamp = DateTime.Now;
            string itemID;
            string itemValue;
            System.Threading.Thread.Sleep(1000);
            while (!isStop) {
                /*if (lastUpdateStamp != processManager.CurrentDataManager.GetLastUpdatedTimestamp) {
                    foreach (PollItem item in _monitorPollItems) {
                        try {
                            itemValue = item.GetLastValue().Value.ToString();
                            itemID = item.ItemName;
                            Console.WriteLine("{0} = {1}", itemID, itemValue);
                        }
                        catch{
                        }
                    }
                    lastUpdateStamp = processManager.CurrentDataManager.GetLastUpdatedTimestamp;
                }*/

                // delay 10 min
                System.Threading.Thread.Sleep(6000);
            }
            if (processManager != null) {
                processManager.StopAllProcesses();
                ShowConsoleMessage("Stop poll process");
                autoResetEvent.Set();
            }
        }