Beispiel #1
0
def init(q_name, my_app_name):
    ''' '''
    swtich = XmlConfig.get('/monitor')
    if swtich.get('switch','OFF').upper() == 'OFF':
        global SWITCH
        logging.info('the monitor is not turing on')
        SWITCH = 'OFF' 
        return
    monitor_serv_info = XmlConfig.get('/monitor/monitor_serv_addr')
    host = monitor_serv_info['host']
    port =int(monitor_serv_info['port'])
    max_idle_time = XmlConfig.get('/monitor/max_idle_time')
    alert_inverval = XmlConfig.get('/monitor/alert_interval')
    keepers_info = XmlConfig.list('/monitor/keepers/')
    emails  = []
    mobiles = []
    for i in keepers_info.values():
        emails.extend(i['emails'].split(','))
        mobiles.extend(i['mobiles'].split(','))
    global MBC 
    MBC = Client(my_app_name, (host, port) )
    res = MBC.register({
        'mobiles': mobiles,
        'emails' : emails,
        'max_idle_time': int(max_idle_time),
        'alert_interval': alert_inverval,
    })
    if res['code'] != 201:
        logging.warning('monitor register %s',res)
def load_from_xmlconfig(xpath, route_class=DataRing, *args, **kwargs):
    """从XmlConfig加载资源
    """
    import XmlConfig
    if xpath[-1:] != '/':
        xpath += '/'
    res_name = xpath.split('/')[-2]
    if DATA_ROUTES.has_key(res_name):
        return 0
    nodes = XmlConfig.list(xpath)
    if not nodes:
        return -1
    set_resource(res_name, route_class(nodes, *args, **kwargs))
    return 1
Beispiel #3
0
def initAppData(xcfg=None, props=None):
    """初始化一个ICE的应用数据类
        xcfg    XmlConfig配置的路径(可选)
        props   额外指定的属性(可选)
    """
    data = Ice.InitializationData()
    data.properties = Ice.createProperties()
    if xcfg:
        import XmlConfig
        if xcfg[-1:] != '/':
            xcfg += '/'
        for k, v in XmlConfig.list(xcfg).items():
            data.properties.setProperty(k, v)
    if props:
        for k, v in props.items():
            data.properties.setProperty(k, v)
    return data