Beispiel #1
0
 def setUp(self):
   self.maxDiff = None  # To show full difference between structures in  case of error
   dest = {}
   dest.update({'/queue/FakeQueue': ['consumer4', 'consumer2']})
   dest4 = {'/queue/test3': ['consumer1', 'consumer2', 'consumer3', 'consumer4']}
   conn1 = {'MQConnector': FakeMQConnector(), 'destinations': dest}
   conn2 = {'MQConnector': FakeMQConnector(), 'destinations': dest4}
   storage = {'fake.cern.ch': conn1, 'testdir.blabla.ch': conn2}
   self.myManager = MQConnectionManager(connectionStorage=storage)
Beispiel #2
0
 def setUp(self):
   self.maxDiff = None  # To show full difference between structures in  case of error
   dest = {}
   dest.update({'/queue/test1': ['producer4', 'consumer1', 'consumer2', 'consumer4']})
   dest.update({'/queue/test2': ['producer2', 'consumer1', 'consumer2']})
   dest.update({'/topic/test1': ['producer1']})
   dest4 = {'/queue/test3': ['producer1', 'consumer2', 'consumer3', 'consumer4']}
   conn1 = {'MQConnector': 'TestConnector1', 'destinations': dest}
   conn2 = {'MQConnector': 'TestConnector2', 'destinations': dest4}
   storage = {'mardirac3.in2p3.fr': conn1, 'testdir.blabla.ch': conn2}
   self.mgr = MQConnectionManager(connectionStorage=storage)
Beispiel #3
0
 def setUp(self):
     self.maxDiff = None  # To show full difference between structures in  case of error
     dest = {}
     dest.update({"/queue/FakeQueue": ["consumer4", "consumer2"]})
     dest4 = {
         "/queue/test3":
         ["consumer1", "consumer2", "consumer3", "consumer4"]
     }
     conn1 = {"MQConnector": FakeMQConnector(), "destinations": dest}
     conn2 = {"MQConnector": FakeMQConnector(), "destinations": dest4}
     storage = {"fake.cern.ch": conn1, "testdir.blabla.ch": conn2}
     self.myManager = MQConnectionManager(connectionStorage=storage)
 def setUp(self):
     self.maxDiff = None  # To show full difference between structures in  case of error
     dest = {}
     dest.update({
         "/queue/test1":
         ["producer4", "consumer1", "consumer2", "consumer4"]
     })
     dest.update({"/queue/test2": ["producer2", "consumer1", "consumer2"]})
     dest.update({"/topic/test1": ["producer1"]})
     dest4 = {
         "/queue/test3":
         ["producer1", "consumer2", "consumer3", "consumer4"]
     }
     conn1 = {"MQConnector": "TestConnector1", "destinations": dest}
     conn2 = {"MQConnector": "TestConnector2", "destinations": dest4}
     storage = {"mardirac3.in2p3.fr": conn1, "testdir.blabla.ch": conn2}
     self.mgr = MQConnectionManager(connectionStorage=storage)
Beispiel #5
0
""" General Message Queue Interface to create Consumers and Producers
"""
from __future__ import absolute_import
from __future__ import division
from __future__ import print_function

from DIRAC import gLogger, S_OK
from DIRAC.Resources.MessageQueue.MQProducer import MQProducer
from DIRAC.Resources.MessageQueue.MQConsumer import MQConsumer
from DIRAC.Resources.MessageQueue.MQConnectionManager import MQConnectionManager
from DIRAC.Resources.MessageQueue.Utilities import getMQParamsFromCS
from DIRAC.Resources.MessageQueue.Utilities import generateDefaultCallback

__RCSID__ = "$Id$"

connectionManager = MQConnectionManager(
)  # To manage the active MQ connections.


def createConsumer(mqURI, callback=generateDefaultCallback()):
    """
    Function creates MQConsumer. All parameters are taken from the
    Configuration Service based on the mqURI value.

    Args:
      mqURI(str):Pseudo URI identifing MQ service. It has the following format
                mqConnection::DestinationType::DestinationName
                e.g. blabla.cern.ch::Queues::MyQueue1
      callback: callback function that can be used to process the incoming messages

    Returns:
      S_OK/S_ERROR: with the consumer object in S_OK.