public async Task StartListener() { var tasks = Enumerable.Range(0, ListenerTaskCount).Select((i) => { return(Task.Factory.StartNew(() => { var listener = MessageQueueListenerFactory.CreateRabbitMQListener(); _listeners.Add(listener); listener.Listen(CancellationTokenSource.Token, i); }, TaskCreationOptions.LongRunning)); }).ToList(); await Task.WhenAll(tasks); }
public void SetupMessageQueueListenerManager() { var config = Container.Resolve<IRabbitMQConfiguration>("DefaultRabbitMQ"); var messageQueueListenerFactory = new MessageQueueListenerFactory(Container, IntegrationJobTypes, config); MessageQueueListenerManager = new MessageQueueListenerManager() { MessageQueueListenerFactory = messageQueueListenerFactory, }; }