balancing.py 文件源码

python
阅读 21 收藏 0 点赞 0 评论 0

项目:python-mysql-pool 作者: LuciferJack 项目源码 文件源码
def set_members(self, *args):
        if not args:
            # Reset members if nothing was given
            self._members = []
            return
        new_members = []
        for member in args:
            member = list(member)
            try:
                member[1] = decimal.Decimal(str(member[1]))
            except decimal.InvalidOperation:
                raise ValueError("Member '{member}' is invalid".format(
                    member=member))
            new_members.append(tuple(member))

        new_members.sort(key=lambda x: x[1], reverse=True)
        if self._members == new_members:
            return
        self._members = new_members
        self._nr_members = len(new_members)

        min_weight = min(i[1] for i in self._members)
        self._ratios = []
        for _, weight in self._members:
            self._ratios.append(int(weight / min_weight * 100))
        self.reset()
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号