예제 #1
0
    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()
예제 #2
0
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))
예제 #3
0
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))
예제 #4
0
    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()
예제 #5
0
#!/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)