Ejemplo n.º 1
0
        public static IServiceCollection AddSwarm(this IServiceCollection services,
                                                  IConfigurationSection configuration, Action <ISwarmBuilder> configure = null)
        {
            if (services == null)
            {
                throw new ArgumentNullException(nameof(services));
            }

            if (configuration == null)
            {
                throw new ArgumentNullException(nameof(configuration));
            }

            services.Configure <SwarmOptions>(configuration);
            services.AddSignalR().AddMessagePackProtocol();

            services.AddSingleton <ISchedCache, SchedCache>();
            services.AddSingleton <ISwarmCluster, SwarmCluster>();
            services.AddSingleton <IJobService, JobService>();
            services.AddSingleton <INodeService, NodeService>();

            var builder = new SwarmBuilder(services);

            configure?.Invoke(builder);

            return(services);
        }
Ejemplo n.º 2
0
        public static IServiceCollection AddSwarm(this IServiceCollection services,
                                                  IConfigurationSection configuration, Action <ISwarmBuilder> configure = null)
        {
            if (services == null)
            {
                throw new ArgumentNullException(nameof(services));
            }

            if (configuration == null)
            {
                throw new ArgumentNullException(nameof(configuration));
            }

            services.Configure <SwarmOptions>(configuration);
            services.AddSignalR();


            var builder = new SwarmBuilder(services);

            configure?.Invoke(builder);

            return(services);
        }