def set_balancer(self, value):
try:
if self.is_gte_34():
# 3.4+ configsvrs dont have balancerStart/Stop, even though they're the balancer!
# Use self.get_mongos() to get a mongos connection for now
if value is True:
self.get_mongos().admin_command("balancerStart")
else:
self.get_mongos().admin_command("balancerStop")
else:
if value is True:
set_value = False
elif value is False:
set_value = True
else:
set_value = True
config = self.connection['config']
config['settings'].update_one({'_id': 'balancer'}, {'$set': {'stopped': set_value}})
except Exception, e:
logging.fatal("Failed to set balancer state! Error: %s" % e)
raise DBOperationError(e)
评论列表
文章目录