本文整理汇总了Python中SettingsLibrary.getJolokiaURL方法的典型用法代码示例。如果您正苦于以下问题:Python SettingsLibrary.getJolokiaURL方法的具体用法?Python SettingsLibrary.getJolokiaURL怎么用?Python SettingsLibrary.getJolokiaURL使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SettingsLibrary
的用法示例。
在下文中一共展示了SettingsLibrary.getJolokiaURL方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: getClusterRoles
# 需要导入模块: import SettingsLibrary [as 别名]
# 或者: from SettingsLibrary import getJolokiaURL [as 别名]
def getClusterRoles(shardName, numOfShards=3, numOfTries=3, sleepBetweenRetriesInSecs=1, port=8181, *ips):
"""Given a shardname (e.g. shard-inventory-config), number of shards and bunch of ips
determines what role each ip has in an Akka (Raft based) cluster
result would look like
{'10.194.126.118':'Leader', '10.194.126.118':'Follower', '10.194.126.117': None}
"""
dict = {}
for ip in ips:
i = 1
dict[ip] = None
while i <= numOfShards:
shardMemberName = "member-" + str(i) + "-" + shardName
j = 1
while j <= numOfTries:
print("Try number " + str(j))
try:
print("finding if" + ip + "is leader for shardName =" + shardMemberName)
url = SettingsLibrary.getJolokiaURL(ip, str(port), str(i), shardName)
resp = UtilLibrary.get(url)
print(resp)
if resp.status_code != 200:
sleep(sleepBetweenRetriesInSecs)
continue
print(resp.text)
data = json.loads(resp.text)
if 'value' in data:
dataValue = data['value']
print("datavalue RaftState is", dataValue['RaftState'])
if dataValue['RaftState'] == 'Follower':
dict[ip] = 'Follower'
break
elif dataValue['RaftState'] == 'Leader':
dict[ip] = 'Leader'
except:
e = sys.exc_info()[0]
print("Try" + str(j) + ":An error occurred when finding leader on" + ip +
" for shardName:" + shardMemberName)
print(e)
sleep(sleepBetweenRetriesInSecs)
continue
finally:
j = j + 1
if dict[ip] is not None:
break
i = i + 1
return dict
示例2: getClusterRoles
# 需要导入模块: import SettingsLibrary [as 别名]
# 或者: from SettingsLibrary import getJolokiaURL [as 别名]
def getClusterRoles(shardName,numOfShards=3,numOfTries=3,sleepBetweenRetriesInSecs=1,port=8181,*ips):
dict={}
for ip in ips:
i=1
dict[ip]=None
bFollower = 0
while i <= numOfShards:
shardMemberName = "member-"+str(i)+"-"+shardName;
j=1
while j <= numOfTries:
print "Try number "+str(j)
try:
print "finding if"+ ip +"is leader for shardName ="+shardMemberName
url = SettingsLibrary.getJolokiaURL(ip,str(port),str(i),shardName)
resp = UtilLibrary.get(url)
print resp
if(resp.status_code != 200):
continue
data = json.loads(resp.text)
if('value' in data):
dataValue = data['value']
if(dataValue['RaftState']=='Follower'):
dict[ip]='Follower'
break;
elif(dataValue['RaftState']=='Leader'):
dict[ip]='Leader'
except:
e = sys.exc_info()[0]
print "Try"+str(j)+":An error occurred when finding leader on"+ip+" for shardName:" +shardMemberName
print e
sleep(sleepBetweenRetriesInSecs)
continue
finally:
j=j+1
if(dict[ip]!=None):
break;
i=i+1
return dict