public bool TriggerMonitor(NMonitor monitorClassObject) { var fileListDir = Directory.GetFiles(monitorClassObject.Parameters["Directory"]); if (!monitorClassObject.Processor.Storage.ContainsKey("FilesRead")) monitorClassObject.Processor.Storage["FilesRead"] = new List<string>(fileListDir); var fileList = (List<string>)monitorClassObject.Processor.Storage["FilesRead"]; var unexecuted = fileListDir.Where(v => !fileList.Contains(v)).ToArray(); if (unexecuted.Length == 0) return false; fileList.AddRange(unexecuted); monitorClassObject.Processor.Storage["FilesRead"] = fileList; monitorClassObject.CreateOverride("NasuTek.Monitoring.Service.BuiltIn.Collectors.FileCollector"); monitorClassObject.Overrides["NasuTek.Monitoring.Service.BuiltIn.Collectors.FileCollector"]["Files"] = String.Join(",", unexecuted); return true; }
public void Start() { XDocument doc = XDocument.Load(Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), "NasuTek.Monitoring.Service.config")); Monitors = new Dictionary<string, NMonitor>(); foreach (XElement assemblyImport in doc.Root.Elements("Import")) { Assembly.LoadFile(assemblyImport.Attribute("dll").Value); } foreach(XElement monitor in doc.Root.Elements("Monitor")) { var mntr = new NMonitor(monitor); Monitors.Add(monitor.Attribute("name").Value, mntr); mntr.Start(); } }
public bool TriggerMonitor(NMonitor monitorClassObject) { return true; }