def configure(self):
shards = dict()
nodes = django_settings.DJANGO_AUTOSHARD.NODES
for node in nodes:
try:
_ = node['HOST']
except KeyError:
raise exceptions.ImproperlyConfigured('Node {} does not have a host.'.format(node))
try:
_ = node['RANGE']
except KeyError:
raise exceptions.ImproperlyConfigured('Node {} does not specify a shard range.'.format(node))
node_shards = self.set_logical_shards(node)
shards.update(node_shards)
django_settings.SHARDS = OrderedDict(sorted(shards.items()))
django_settings.DATABASE_ROUTERS = ('django_autoshard.routers.ShardRouter', )
评论列表
文章目录