コード例 #1
0
ファイル: remaster.py プロジェクト: 9apps/ReDiS
			# if not syncing, and link down longer than 30s
			down = ((master_sync_in_progress == 0) and
					(link_down_since_seconds > 30))
		else:
			down = False

	except Exception as e:
		log('master are down, or we were master, in any case we should not be here ', 'info')
		down = True

	if down:
		log('down: find a new master!', 'info')
		try:
			master = r.info()['master_host']
			log("master: {0}".format(master), 'info')
			if cluster.exists(master):
				grandmaster = cluster.get_master(master)
				log("{0} = cluster.get_master({1})".format(grandmaster, master), 'info')

				# and make sure the master doesn't participate anymore
				cluster.incarcerate_node(master)
				log("cluster.incarcerate_node({0})".format(master), 'info')
			else:
				grandmaster = cluster.get_master(node)
				log("{0} = cluster.get_master({1})".format(grandmaster, node), 'info')
		except:
			log('we never were a slave', 'info')
			grandmaster = None

		if grandmaster == None:
			r53_zone.update_record(cluster.name(), endpoint)