예제 #1
0
 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,
     };
 }