def __init__(self, cfg): lbNodesInput = loadbalancers.CreateRouterFromConfig(None) lbNodesControl = loadbalancers.CreateRouterFromConfig(None) qInput = queue.CreateQueueFromConfig( cfg['balancer']['inputChannel']['queue']) qControl = queue.CreateQueueFromConfig( cfg['balancer']['controlChannel']['queue']) inputChannels = list() controlChannels = list() for node in cfg['balancer']['nodes']: inputChannels.append( OutBoundAmqpChannel(host=node['inputChannel']['url'], useAck=bool( node['inputChannel']['useAck']))) controlChannels.append( OutBoundAmqpChannel(host=node['controlChannel']['url'], useAck=bool( node['controlChannel']['useAck']))) self.nodesInputGateway = SenderGateway( lbNodesInput, qInput, channels=inputChannels, numExtractors=len(inputChannels)) self.nodesInputGateway.connect() self.nodesControlGateway = SenderGateway( lbNodesControl, qControl, channels=controlChannels, numExtractors=len(controlChannels)) self.nodesControlGateway.connect() self.receiverInputGateway = InBoundAmqpChannel( host=cfg['balancer']['inputChannel']['url'], useAck=bool(cfg['balancer']['inputChannel']['useAck'])) self.receiverInputGateway.OnMessageReceived += self.InputMessageReceived self.receiverInputGateway.connect() self.receiverControlGateway = InBoundAmqpChannel( host=cfg['balancer']['controlChannel']['url'], useAck=bool(cfg['balancer']['controlChannel']['useAck'])) self.receiverControlGateway.OnMessageReceived += self.ControlMessageReceived self.receiverControlGateway.connect()