1. TestMonitorSave
1.1. Add Nitor1 file monitor from @"C:\wa\CIV.MMS\DemoFiles\HP50\2016_8_4_12_33_byte.txt"
1.2. add Nitor2 tibbo HP50 monitor from "10.0.0.19"
1.3. Add Nitor3 file monitor from DEMO IP
2. OnStop
2.1. m_collector.StopService();
2.2. m_writer.StopService();
3. OnStart
3.1. MainThread
3.1.1. DAL.Instance.GetDBVersion()
3.1.2. m_writer = new DBWriterService(threadCount)
3.1.2.1. initiate services
3.1.2.1.1. m_incomeQueue = new Queue<AbsMsg>(); m_incomeEventQueue = new Queue<CIVEventLogEntry>(); m_OrphanMonitors = new OrphanMonitors();
3.1.2.2. OnStart = this.StartQAnalyze();
3.1.2.2.1. m_oTaskMonitor = new Task[m_threadCount];
3.1.2.2.2. Action<object> act = new Action<object>(QThread); this.HandleQ(threadID); this.HandleQEvent(); DAL.Instance.UpdConnStatus(evt.MonitorID, evt.Status);
3.1.3. sRawPath = ConfigManager.Instance["DriverRawPath"].ToString()
3.1.4. CreateFolderMons
3.1.5. new CollectorService(bUseAutoDisconnect, bSaveRaw, sRawPath);
3.1.5.1. OnStart: m_okeppAlive = new Task(new Action(KeepAliveThread));
3.1.5.1.1. string serverName = Environment.MachineName; m_statusLockIsFree.Reset(); DAL.Instance.UpdateKeepAliveAndGetRunStatus(serverName, 1);
3.1.5.2. m_oTaskMonitor = new Task(new Action(WorkThread));
3.1.5.2.1. this.ReloadMonitorList(cpyCurrStatus.DriversGroup); this.InitDrivers(cpyCurrStatus.DriversGroup); this.ConnectDrivers(true); this.ConnectDrivers(false);
3.1.5.3. OnStop:DisconnectDrivers(true);
3.1.6. m_collector.OnDataReady += Collector_OnDataReady; m_collector.OnMonitorInfo += Collector_OnMonitorInfo; m_collector.OnEventLog += Collector_OnEventLog;
3.1.6.1. Collector_OnEventLog m_writer.EnqueueEvent(info);
3.1.6.2. Collector_OnMonitorInfo DAL.Instance.UpdDriverMonitorInfo(info.DrvID, info.GetJson());
3.1.6.3. Collector_OnDataReady m_writer.Enqueue(msg);