本文整理汇总了Python中rabbit_helper.RabbitHelper.numExchangeQueues方法的典型用法代码示例。如果您正苦于以下问题:Python RabbitHelper.numExchangeQueues方法的具体用法?Python RabbitHelper.numExchangeQueues怎么用?Python RabbitHelper.numExchangeQueues使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类rabbit_helper.RabbitHelper
的用法示例。
在下文中一共展示了RabbitHelper.numExchangeQueues方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: run
# 需要导入模块: from rabbit_helper import RabbitHelper [as 别名]
# 或者: from rabbit_helper.RabbitHelper import numExchangeQueues [as 别名]
def run(workload):
workload.active = True
rabbitHelper = RabbitHelper()
sdk_queue_key = "sdk_consumer.*"
# read doc template
template = Template.from_cache(str(workload.template))
if template is None:
logger.error("no doc template imported")
return
consumer_template = copy.deepcopy(template)
bucket = str(workload.bucket)
password = str(workload.password)
active_hosts = None
clusterStatus = CacheHelper.clusterstatus(cfg.CB_CLUSTER_TAG+"_status")
if clusterStatus is not None:
active_hosts = clusterStatus.get_all_hosts()
if workload.cc_queues is not None:
# override template attribute with workload
consumer_template.cc_queues = workload.cc_queues
if len(workload.indexed_keys) > 0:
template.indexed_keys = workload.indexed_keys
ops_sec = workload.ops_per_sec
# modify ops by number of consumers
num_consumers = rabbitHelper.numExchangeQueues(cfg.CB_CLUSTER_TAG, EXCHANGE)
if num_consumers == 0:
logger.error("No sdkclients running")
return
ops_sec = int(ops_sec)/num_consumers
create_count = int(ops_sec * workload.create_perc/100)
update_count = int(ops_sec * workload.update_perc/100)
get_count = int(ops_sec * workload.get_perc/100)
del_count = int(ops_sec * workload.del_perc/100)
exp_count = int(ops_sec * workload.exp_perc/100)
consume_queue = workload.consume_queue
ttl = workload.ttl
miss_queue = workload.miss_queue
miss_perc = workload.miss_perc
# broadcast to sdk_consumers
msg = {'bucket' : bucket,
'id' : workload.id,
'password' : password,
'template' : consumer_template.__dict__,
'ops_sec' : ops_sec,
'create_count' : create_count,
'update_count' : update_count,
'get_count' : get_count,
'del_count' : del_count,
'exp_count' : exp_count,
'consume_queue' : consume_queue,
'ttl' : ttl,
'miss_perc' : miss_perc,
'active' : True,
'active_hosts' : active_hosts}
rabbitHelper.putMsg('', json.dumps(msg), EXCHANGE)
logger.error("start task sent to %s consumers" % num_consumers)