Ejemplo n.º 1
0
        static async Task <FetchoConfiguration> SetupConfiguration()
        {
            Console.OutputEncoding = System.Text.Encoding.UTF8;
            log4net.Config.XmlConfigurator.Configure();
            var cfg = new FetchoConfiguration();

            FetchoConfiguration.Current = cfg;
            cfg.SetConfigurationSetting(
                () => cfg.FetchoWorkspaceServerBaseUri,
                ConfigurationManager.AppSettings["FetchoWorkspaceServerBaseUri"]
                );

            cfg.SetConfigurationSetting <IEnumerable <string> >(
                () => cfg.DataSourcePaths,
                ConfigurationManager.AppSettings["DataSourcePaths"].Split(',')
                );

            cfg.SetConfigurationSetting(
                () => cfg.MLModelPath,
                ConfigurationManager.AppSettings["MLModelPath"]
                );

            await GetOrCreateServerNode(cfg);

            return(cfg);
        }
Ejemplo n.º 2
0
        public void Setup()
        {
            var cfg = new FetchoConfiguration();

            FetchoConfiguration.Current = cfg;
            FetchoConfiguration.Current.SetConfigurationSetting(() => cfg.UserAgent, userAgent);
        }
Ejemplo n.º 3
0
        private static async Task <FetchoConfiguration> SetupConfiguration(string paths)
        {
            var cfg = new FetchoConfiguration();

            cfg.SetupConfigurationBasedOnEnvironment();
            FetchoConfiguration.Current = cfg;
            cfg.SetConfigurationSetting(() => cfg.DataSourcePaths, paths.Split(','));

            cfg.SetConfigurationSetting(
                () => cfg.FetchoWorkspaceServerBaseUri,
                ConfigurationManager.AppSettings["FetchoWorkspaceServerBaseUri"]
                );

            // setup the block provider we want to use
            cfg.BlockProvider = new DefaultBlockProvider();

            // configure queueo with the queuing model
            cfg.QueueOrderingModel = new NaiveQueueOrderingModel();

            // setup host cache manager
            cfg.HostCache = new HostCacheManager();

            // log configuration changes
            cfg.ConfigurationChange += (sender, e) =>
                                       Utility.LogInfo("Configuration setting {0} changed from {1} to {2}",
                                                       e.PropertyName,
                                                       e.OldValue,
                                                       e.NewValue
                                                       );
            // get or create a server node with the master
            await GetOrCreateServerNode(cfg);

            return(cfg);
        }
Ejemplo n.º 4
0
        public void Setup()
        {
            var cfg = new FetchoConfiguration();

            FetchoConfiguration.Current = cfg;
            cfg.SetConfigurationSetting(() => cfg.MLModelPath, @"G:\fetcho\data\");
        }
Ejemplo n.º 5
0
        public void Setup()
        {
            var cfg = new FetchoConfiguration();

            FetchoConfiguration.Current = cfg;
            cfg.SetConfigurationSetting(
                () => cfg.FetchoWorkspaceServerBaseUri,
                ConfigurationManager.AppSettings["FetchoWorkspaceServerBaseUri"]
                );
            client = new FetchoAPIV1Client(new Uri(FetchoConfiguration.Current.FetchoWorkspaceServerBaseUri));
        }
Ejemplo n.º 6
0
        static async Task GetOrCreateServerNode(FetchoConfiguration cfg)
        {
            if (cfg.FetchoWorkspaceServerBaseUri.Length == 0)
            {
                return;
            }

            var fetchoClient = new FetchoAPIV1Client(new Uri(cfg.FetchoWorkspaceServerBaseUri));

            cfg.CurrentServerNode = await fetchoClient.GetServerNodeAsync(Environment.MachineName);

            if (cfg.CurrentServerNode == null)
            {
                cfg.CurrentServerNode = await fetchoClient.CreateServerNodeAsync(new ServerNode());
            }
        }
Ejemplo n.º 7
0
        public static void Register(HttpConfiguration config)
        {
            // need this to turn on log4net
            log4net.Config.XmlConfigurator.Configure();

            // Web API configuration and services
            config.Formatters.JsonFormatter.SupportedMediaTypes
            .Add(new MediaTypeHeaderValue("text/html"));

            config.Formatters.Add(new BinaryMediaTypeFormatter());

            // Web API routes
            config.MapHttpAttributeRoutes();

            // Allow cross origin requests
            config.EnableCors();

            // enable controllers
            config.Routes.MapHttpRoute(
                name: "DefaultApi",
                routeTemplate: "api/{controller}/{id}",
                defaults: new { id = RouteParameter.Optional }
                );

            GlobalConfiguration.Configuration.IncludeErrorDetailPolicy
                = IncludeErrorDetailPolicy.Always;

            // prettfy the JSON formatters
            var json = GlobalConfiguration.Configuration.Formatters.JsonFormatter;

            json.SerializerSettings.Formatting = Newtonsoft.Json.Formatting.Indented;

            // setup configuration
            var cfg = new FetchoConfiguration();

            cfg.SetConfigurationSetting(() => cfg.MLModelPath, ConfigurationManager.AppSettings["MLModelPath"]);
            FetchoConfiguration.Current = cfg;
        }