public Engine(ISiteDataProvider urlProvider, Dictionary <string, object> args) : this(urlProvider, int.Parse((string)args["threads"])) { browser = (string)args.GetValueOrDefault("browser", browser); headless = bool.Parse((string)args.GetValueOrDefault("headless", "false")); gridAddress = (string)args.GetValueOrDefault("gridAddress", null); }
public void Reload(ISiteDataProvider provider) { new SitesXmlLoader(provider).Load(provider.LoadXmlData(), ref sitesModel); if (sitesModel != null) { provider.SaveDataToLocal(sitesModel); } }
public Engine build() { ISiteDataProvider siteDataProvider = getProvider <ISiteDataProvider>("siteDataProvider"); List <IValidator> validators = getProviders <IValidator>("validators"); INotifyer notifyer = getProvider <INotifyer>("notifyer"); Engine engine = new Engine(siteDataProvider, getComponetsParams("engine")); engine.registerValidators(validators); engine.registerNotifyer(notifyer); return(engine); }
public Engine(ISiteDataProvider urlProvider, int threadCount) { this.urlProvider = urlProvider; //TODO threads cap and validation threads = new List <Thread>(threadCount); for (int i = 0; i < threadCount; ++i) { threads.Add( new Thread(new ThreadStart(worker)) { Name = $"Monitor thread #{i}" }); } }
public SitesProvider(ISiteDataProvider provider) { var data = provider.LoadDataLocal(); if (data == null) { new SitesXmlLoader(provider).Load(provider.LoadXmlData(), ref sitesModel); if (sitesModel != null) { provider.SaveDataToLocal(sitesModel); } } else { sitesModel = data; } }
public SitesXmlLoader(ISiteDataProvider provider) { this.dataProvider = provider; }