示例#1
0
        public RabbitEventBus AddConsumer(
            Func <byte[], Task> handler,
            Func <List <byte[]>, Task> batchHandler,
            string observerGroup)
        {
            var consumer = new RabbitConsumer(
                new List <Func <byte[], Task> > {
                handler
            },
                new List <Func <List <byte[]>, Task> > {
                batchHandler
            })
            {
                EventBus  = this,
                QueueList = RouteList.Select(route => new QueueInfo {
                    RoutingKey = route, Queue = $"{route}_{observerGroup}"
                }).ToList(),
                Config = ConsumerConfig
            };

            Consumers.Add(consumer);
            return(this);
        }