def __init__(self): Plugin.__init__(self, name='scenario', log_prefix='core_') ### check that needed services are up on MQ side cli = MQSyncReq(zmq.Context()) mq_services = None while mq_services == None or 'xplgw' not in mq_services: mq_services_raw = cli.rawrequest('mmi.services', '', timeout=10) if mq_services_raw != None: mq_services = str(mq_services_raw[0]).replace(" ", "").split(",") self.log.info("Checking for MQ services : {0}".format(mq_services)) if mq_services == None or 'xplgw' not in mq_services: self.log.debug( "Needed MQ services not yet available : waiting") time.sleep(3) self.log.info("Needed MQ services available : continuing startup") ### start the scenario stuff self._backend = ScenarioManager(self.log) self.add_stop_cb(self.end) self.add_stop_cb(self.shutdown) self.log.info( u"Scenario Frontend and Manager initialized, let's wait for some work." ) self.ready()
def test_mq_mmi_services(): # Test the broker services import zmq from zmq.eventloop.ioloop import IOLoop from domogikmq.reqrep.client import MQSyncReq from domogikmq.message import MQMessage cli = MQSyncReq(zmq.Context()) info("Looking for MQ mmi services (broker)") res = cli.rawrequest('mmi.services', '', timeout=10) if res == None: error("No response from MQ mmi.services request : MQ req/rep is KO") return info("MQ mmi services response is : {0}".format(res)) components = res[0].replace(" ", "").split(",") for core in ['manager', 'dbmgr', 'admin', 'scenario', 'butler', 'xplgw']: if core in components: ok("MQ rep/req service OK for component : {0}".format(core)) else: error("MQ rep/req service KO for component : {0}".format(core))
def __init__(self): Plugin.__init__(self, name = 'scenario') ### check that needed services are up on MQ side cli = MQSyncReq(zmq.Context()) mq_services = None while mq_services == None or 'xplgw' not in mq_services: mq_services_raw = cli.rawrequest('mmi.services', '', timeout=10) if mq_services_raw != None: mq_services = mq_services_raw[0].replace(" ", "").split(",") self.log.info("Checking for MQ services : {0}".format(mq_services)) if mq_services == None or 'xplgw' not in mq_services: self.log.debug("Needed MQ services not yet available : waiting") time.sleep(3) self.log.info("Needed MQ services available : continuing startup") ### start the scenario stuff self._backend = ScenarioManager(self.log) self.add_stop_cb(self.end) self.add_stop_cb(self.shutdown) self.log.info(u"Scenario Frontend and Manager initialized, let's wait for some work.") self.ready()
#!/usr/bin/python # TODO import zmq from zmq.eventloop.ioloop import IOLoop from domogikmq.reqrep.client import MQSyncReq from domogikmq.message import MQMessage cli = MQSyncReq(zmq.Context()) print cli.rawrequest('mmi.service', 'xplgw', timeout=10) cli = MQSyncReq(zmq.Context()) print cli.rawrequest('mmi.services', '', timeout=10)