public ParallelQueueHostedService( IParallelQueueConsumerFactory consumerFactory, IParallelQueueProducerFactory producerFactory, string queuqName, int timeout, TState state, ILogger <ParallelQueueHostedService <TEntity, TState> > logger) { if (consumerFactory == null) { throw new ArgumentNullException(nameof(consumerFactory)); } if (producerFactory == null) { throw new ArgumentNullException(nameof(producerFactory)); } if (logger == null) { throw new ArgumentNullException(nameof(logger)); } _consumerFactory = consumerFactory; _producerFactory = producerFactory; _queueName = queuqName; _timeout = timeout; _state = state; _logger = logger; }
public HostedService( IParallelQueueConsumerFactory consumerFactory, IParallelQueueProducerFactory producerFactory, string name, int timeout, TState state, ILogger <ParallelQueueHostedService <TEntity, TState> > logger) : base(consumerFactory, producerFactory, name, timeout, state, logger) { }
public ParallelQueueBuilder <TEntity, TState> AddHostedService(int timeout = 5, TState state = default) { Services.AddSingleton <IHostedService, HostedService>(sp => { IParallelQueueConsumerFactory consumerFactory = sp.GetRequiredService <IParallelQueueConsumerFactory>(); IParallelQueueProducerFactory producerFactory = sp.GetRequiredService <IParallelQueueProducerFactory>(); ILogger <ParallelQueueHostedService <TEntity, TState> > logger = sp.GetRequiredService <ILogger <ParallelQueueHostedService <TEntity, TState> > >(); return(new HostedService(consumerFactory, producerFactory, Name, timeout, state, logger)); }); return(this); }