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()
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()
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" ])))
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()
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()