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); }
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); }