zone.py 文件源码

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

项目:zinc 作者: PressLabs 项目源码 文件源码
def _reconcile_policy_records(self):
        """
        Reconcile policy records for this zone.
        """
        with self.db_zone.lock_dirty_policy_records() as dirty_policy_records:
            dirty_policies = set()
            for policy_record in dirty_policy_records:
                if not policy_record.deleted:
                    dirty_policies.add(policy_record.policy)
            for policy in dirty_policies:
                r53_policy = Policy(policy=policy, zone=self)
                r53_policy.reconcile()
                self.commit(preserve_cache=True)
            for policy_record in dirty_policy_records:
                try:
                    with transaction.atomic():
                        policy_record.r53_policy_record.reconcile()
                        self.commit(preserve_cache=True)
                except ClientError as excp:
                    logger.exception("failed to reconcile record %r", policy_record)
                    self._reset_change_batch()
            self._delete_orphaned_managed_records()
            self.commit()
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号