Exemple #1
0
def Main():

	cgiEnv = lib_common.CgiEnv()

	configNam = cgiEnv.m_entity_id_dict["Url"]
	namVHost = cgiEnv.m_entity_id_dict["VHost"]


	nodeManager = survol_rabbitmq_manager.MakeUri(configNam)

	creds = lib_credentials.GetCredentials( "RabbitMQ", configNam )

	# cl = Client('localhost:12345', 'guest', 'guest')
	cl = Client(configNam, creds[0], creds[1])

	grph = cgiEnv.GetGraph()

	nodVHost = survol_rabbitmq_vhost.MakeUri(configNam,namVHost)
	grph.add( ( nodeManager, lib_common.MakeProp("virtual host node"), nodVHost ) )

	for objExchange in cl.get_exchanges(namVHost):
		namExchange = objExchange["name"]
		DEBUG("namExchange=%s",namExchange)

		nodeExchange = survol_rabbitmq_exchange.MakeUri(configNam,namVHost,namExchange)

		managementUrl = rabbitmq.ManagementUrlPrefix(configNam,"exchanges",namVHost,namExchange)

		grph.add( ( nodeExchange, lib_common.MakeProp("Management"), lib_common.NodeUrl(managementUrl) ) )

		grph.add( ( nodVHost, lib_common.MakeProp("Exchange"), nodeExchange ) )


	cgiEnv.OutCgiRdf()
Exemple #2
0
class rabbitmonitor(threading.Thread):
	def __init__(self):
		threading.Thread.__init__ (self)
		self.scheduler = sched.scheduler(time.time,time.sleep)
		self.cl = Client("localhost:55672","guest","guest")

	def rabbit_stats(self):
		rabbit_data={}	
		try:
			exchanges = self.cl.get_exchanges()	
			queues = self.cl.get_queues()
			binding = self.cl.get_bindings()
			rabbit_data['time'] = time.time()
			rabbit_data['exchanges'] = exchanges
			rabbit_data['queues'] = queues
			for q in rabbit_data['queues']:
				## delete a tmp query with no consumer
				## zombie queue
				if "amq" in q['name'] and q['consumers'] == 0: 
					vhost = q['vhost']					
					self.cl.delete_queue(vhost,q['name']) 
					print 'deleting queue'
		except:
			print 'error'
			pass; 
	def run(self):
		while(1):	
			self.scheduler.enter(400,1,self.rabbit_stats,());	
			self.scheduler.run()
Exemple #3
0
class MqSmokeTest(unittest.TestCase):
    def setUp(self):
        self.cl = Client("mq:15672", os.environ.get("SFM_RABBITMQ_USER"),
                         os.environ.get("SFM_RABBITMQ_PASSWORD"))
        self.assertTrue(self.cl.is_alive())

    def test_exchange(self):
        exchanges = self.cl.get_exchanges()
        for exchange in exchanges:
            if exchange["name"] == "sfm_exchange":
                break
        else:
            self.assertTrue(False, "Exchange not found.")

    def test_queues(self):
        queues = self.cl.get_queues()
        queues_names = {queue["name"] for queue in queues}
        # Add additional queue names as new components are added.
        self.assertTrue(
            queues_names.issuperset(
                set([
                    "flickr_harvester", "flickr_exporter", "sfm_ui",
                    "twitter_harvester", "twitter_rest_harvester",
                    "twitter_rest_harvester_priority", "twitter_rest_exporter",
                    "twitter_stream_exporter", "tumblr_harvester",
                    "tumblr_exporter"
                ])))
Exemple #4
0
def Main():

    cgiEnv = lib_common.CgiEnv()

    configNam = cgiEnv.m_entity_id_dict["Url"]
    # namVHost = cgiEnv.m_entity_id_dict["VHost"]

    nodeManager = survol_rabbitmq_manager.MakeUri(configNam)

    creds = lib_credentials.GetCredentials("RabbitMQ", configNam)

    # cl = Client('localhost:12345', 'guest', 'guest')
    cl = Client(configNam, creds[0], creds[1])

    grph = cgiEnv.GetGraph()

    try:
        #
        listExchanges = cl.get_exchanges()
    except:
        #
        exc = sys.exc_info()[1]
        lib_common.ErrorMessageHtml("Caught:" + str(exc))

    for objExchange in listExchanges:
        namExchange = objExchange["name"]
        DEBUG("namExchange=%s", namExchange)

        namVHost = objExchange["vhost"]
        nodeExchange = survol_rabbitmq_exchange.MakeUri(
            configNam, namVHost, namExchange)

        nodVHost = survol_rabbitmq_vhost.MakeUri(configNam, namVHost)
        grph.add(
            (nodeExchange, lib_common.MakeProp("virtual host node"), nodVHost))

        managementUrl = rabbitmq.ManagementUrlPrefix(configNam, "exchanges",
                                                     namVHost, namExchange)

        grph.add((nodeExchange, lib_common.MakeProp("Management"),
                  lib_common.NodeUrl(managementUrl)))

        grph.add((nodVHost, lib_common.MakeProp("Exchange"), nodeExchange))

    cgiEnv.OutCgiRdf()
class rabbitmonitor(threading.Thread):
	def __init__(self):
		threading.Thread.__init__ (self)
		self.scheduler = sched.scheduler(time.time,time.sleep)
		self.cl = Client("localhost:55672","guest","guest")

	def rabbit_stats(self):
		rabbit_data={}	
		try:
			exchanges = self.cl.get_exchanges()	
			queues = self.cl.get_queues()
			binding = self.cl.get_bindings()
			rabbit_data['time'] = time.time()
			rabbit_data['exchanges'] = exchanges
			rabbit_data['queues'] = queues
			print rabbit_data
		except:
			pass; 
	def run(self):
		while(1):	
			self.scheduler.enter(2,1,self.rabbit_stats,());	
			self.scheduler.run()
Exemple #6
0
class MqSmokeTest(unittest.TestCase):
    def setUp(self):
        self.cl = Client("mq:15672",
                         os.environ.get("RABBITMQ_USER"),
                         os.environ.get("RABBITMQ_PASSWORD"))
        self.assertTrue(self.cl.is_alive())

    def test_exchange(self):
        exchanges = self.cl.get_exchanges()
        for exchange in exchanges:
            if exchange["name"] == "sfm_exchange":
                break
        else:
            self.assertTrue(False, "Exchange not found.")

    def test_queues(self):
        queues = self.cl.get_queues()
        queues_names = {queue["name"] for queue in queues}
        # Add additional queue names as new components are added.
        self.assertTrue(queues_names.issuperset(set(["flickr_harvester",
                                                     "sfm_ui",
                                                     "twitter_harvester",
                                                     "twitter_rest_harvester"])))
class rabbitmonitor(threading.Thread):
    def __init__(self):
        threading.Thread.__init__(self)
        self.scheduler = sched.scheduler(time.time, time.sleep)
        self.cl = Client("localhost:55672", "guest", "guest")

    def rabbit_stats(self):
        rabbit_data = {}
        try:
            exchanges = self.cl.get_exchanges()
            queues = self.cl.get_queues()
            binding = self.cl.get_bindings()
            rabbit_data['time'] = time.time()
            rabbit_data['exchanges'] = exchanges
            rabbit_data['queues'] = queues
            print rabbit_data
        except:
            pass

    def run(self):
        while (1):
            self.scheduler.enter(2, 1, self.rabbit_stats, ())
            self.scheduler.run()