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;
        }
Exemple #2
0
        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;
 }