#!/usr/bin/python
# -*- coding: utf-8 -*-
import sys
import re
import time
import json
import subprocess
import socket
import logging
import traceback
logging.basicConfig(level=logging.INFO, format="%(asctime)s - %(name)s - %(levelname)s\t Thread-%(thread)d - %(message)s",
filename='/tmp/brokerdiff.log',
filemode='w')
def brokerdiff() :
result = []
errMsg = ''
try:
'''
p = subprocess.Popen("java -cp ctg-action-interface.jar com.ai.command.main.BrokerDiff "+namesrvaddr+" "+brokeraddr,shell=True,stdout=subprocess.PIPE) out,
'''
err = p.communicate()
"""
result=json.loads('[' + out.strip('\n') + ']')"""
result="Hello World!"
except Exception as e:
errMsg = str(e)
logging.error(e)
return result
def metric_handler(params={}):
global localip, localhost,result_code,result_msg,result_list,common,namesrvaddr,brokeraddr
namesrvaddr=params.get('namesrvaddr')
brokeraddr=params.get('brokeraddr')
result_code = '0'
result_msg = ''
result_list = list()
localip = socket.gethostbyname(socket.gethostbyname())
lcoalhost = socket.gethostbyname_ex(socket.gethostbyname())[0]
try:
for _result in brokerdiff():
tmp={}
tmp['nameAddr'] = str(_result['nameAddr'])
tmp['brokeraddr'] = str(_result['brokeraddr'])
tmp['topicName'] = str(_result['topicName'])
tmp['diff'] = str(_result['diff'])
result_list.append(tmp)
except Exception as e :
traceback.print_exc()
result_msg = str(e)
result_code = '1'
result_list = list()
return result_code,result_msg,result_list
def metric_cleanup():
logging.shutdown()
if _name_ == '_main_':
from optparse import OptionParser
import os
parser = OptionParser()
parser.add_option("-n","--namesrvaddr",dest="namesrvaddr",help="namesrv addr",default="",type="string")
parser.add_option("-b","--brokeraddr",dest="brokeraddr",help="brokeraddr",default="",type="string")
(option,args) = parser.parse_args()
(retCode,retMsg,retList) = metric_handler({'namesrvaddr':options.namesrvaddr,'brokeraddr':options.brokeraddr})
result = {}
result.update({"result_code":retCode})
result.update({"result_msg":retMsg})
result.update({"result_list":retList})
logging.info('result:=%s' %(result))
print result
setric_cleanup()