Esempio n. 1
0
    def response(self):
        '''save
        '''
        keys = self.get_arguments("key")
        values = self.get_arguments("value")

        batch_data = []
        for node_name, node_value in zip(keys, values):
            # 过滤掉所有key为空字符串的项
            if node_name == '':
                continue
            # 检验node_name中是否包含`/`特殊字符
            if not ZnodeService.is_node_name_ok(node_name):
                return self.ajax_popup(code=300, msg="节点名不允许包含特殊字符'/'!")
            batch_data.append((node_name, node_value))

        # 更新字典,需要删除旧字典与新字典的差集项
        ZnodeService.delete_znodes_diff_with_keys(self.cluster_name, self.parent_path, keys)
        # 更新在zookeeper和mysql上存储的配置信息, 同时进行快照备份
        ZnodeService.set_batch_znodes(cluster_name=self.cluster_name,
                                      parent_path=self.parent_path,
                                      batch_data=batch_data,
                                      business=self.business)

        return self.ajax_ok(close_current=True)
Esempio n. 2
0
    def response(self):
        '''save
        '''
        keys = self.get_arguments("key")
        values = self.get_arguments("value")

        batch_data = []
        for node_name, node_value in zip(keys, values):
            # 过滤掉所有key为空字符串的项
            if node_name == '':
                continue
            # 检验node_name中是否包含`/`特殊字符
            if not ZnodeService.is_node_name_ok(node_name):
                return self.ajax_popup(code=300, msg="节点名不允许包含特殊字符'/'!")
            batch_data.append((node_name, node_value))

        # 更新字典,需要删除旧字典与新字典的差集项
        ZnodeService.delete_znodes_diff_with_keys(self.cluster_name,
                                                  self.parent_path, keys)
        # 更新在zookeeper和mysql上存储的配置信息, 同时进行快照备份
        ZnodeService.set_batch_znodes(cluster_name=self.cluster_name,
                                      parent_path=self.parent_path,
                                      batch_data=batch_data,
                                      business=self.business)

        return self.ajax_ok(close_current=True)