本文整理汇总了Python中cocaine.services.Service.info方法的典型用法代码示例。如果您正苦于以下问题:Python Service.info方法的具体用法?Python Service.info怎么用?Python Service.info使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类cocaine.services.Service
的用法示例。
在下文中一共展示了Service.info方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: main
# 需要导入模块: from cocaine.services import Service [as 别名]
# 或者: from cocaine.services.Service import info [as 别名]
def main():
warning = "1; app status broken: "
error = "2; depth is full: "
node = Service("node")
try:
chan = yield node.list()
except:
print "1; error while connect to service node"
exit(0)
app_list = yield chan.rx.get()
for name in app_list:
app = Service(name)
try:
chan = yield app.info()
info = yield chan.rx.get()
if info["queue"]["depth"] == info["queue"]["capacity"]:
if name != "v012-karma":
error = error + name + ","
except:
warning = warning + name + ","
if error != "2; depth is full: ":
print (error)
elif warning != "1; app status broken: ":
print (warning)
else:
print ("0;Ok")
示例2: execute
# 需要导入模块: from cocaine.services import Service [as 别名]
# 或者: from cocaine.services.Service import info [as 别名]
def execute(self):
appNames = yield self.node.list()
appInfoList = {}
for appName in appNames:
info = ''
try:
app = Service(appName, blockingConnect=False)
yield app.connectThroughLocator(self.locator)
info = yield app.info()
except Exception as err:
info = str(err)
finally:
appInfoList[appName] = info
result = {
'apps': appInfoList
}
yield result
示例3: info
# 需要导入模块: from cocaine.services import Service [as 别名]
# 或者: from cocaine.services.Service import info [as 别名]
def info(self, apps):
infos = {}
for app_ in apps:
info = ''
try:
app = Service(app_, blockingConnect=False)
yield app.connectThroughLocator(self.locator)
info = yield app.info()
if all([self._expand, self._storage is not None, 'profile' in info]):
info['profile'] = yield profile.View(self._storage, info['profile']).execute()
except Exception as err:
info = str(err)
finally:
infos[app_] = info
result = {
'apps': infos
}
yield result
示例4: app_info
# 需要导入模块: from cocaine.services import Service [as 别名]
# 或者: from cocaine.services.Service import info [as 别名]
def app_info(task, response):
info = dict()
try:
name = task["appname"]
version = task["version"]
username = task["username"]
# todo: without version - search by mask? regex?
appname = appname_from_name_version(name, version)
if username:
# not admin - all apps
user_apps = yield app.List(storage).execute()
else:
user_apps = yield db.user_apps(username)
if appname not in user_apps:
raise ValueError("App %s doesn't exist" % appname)
hosts = yield hostdb.hosts()
for host in hosts:
appinstance = None
try:
appinstance = Service(appname, blockingConnect=False)
yield appinstance.connect(host=host)
info[host] = yield appinstance.info()
except Exception as err:
log.error("Unable to connect to app %s host %s" % (appname,
host))
finally:
if appinstance is not None:
appinstance.disconnect()
except KeyError as err:
response.error(-500, "Missing argument %s" % str(err))
except Exception as err:
log.error("Unknown error %s" % repr(err))
response.error(-100, "Unknown error %s" % repr(err))
else:
response.write(info)
finally:
response.close()
示例5: Service
# 需要导入模块: from cocaine.services import Service [as 别名]
# 或者: from cocaine.services.Service import info [as 别名]
from cocaine.services import Service
from cocaine.exceptions import TimeoutError
__author__ = 'EvgenySafronov <[email protected]>'
if __name__ == '__main__':
s = Service('node')
while True:
try:
info = s.info().then(lambda r: r.get()).then(lambda r: r.get()).then(lambda r: r.get()).get()
print(info)
except TimeoutError as err:
print(err)
except Exception as err:
print(err, type(err))
示例6: Service
# 需要导入模块: from cocaine.services import Service [as 别名]
# 或者: from cocaine.services.Service import info [as 别名]
#!/usr/bin/env python
from cocaine.services import Service
s = Service("node", "cocaine-log01g.kit.yandex.net")
for i in xrange(0,1000):
s.info()
s.reconnect()
s.info()