示例#1
0
    def create_loading_tasks(params):
        log = logger.Logger.get_logger()
        task = {
            "ops": params["ops"],
            "seed": params["seed"],
            "bucket": params["bucket"],
            "docs": [],
            "sizes": params["sizes"]
        }
        log.info("params : {0}".format(params))
        for size in params["sizes"]:
            info = RebalanceDataGenerator.job_info()
            if "kv_template" not in params:
                kv_template = {
                    "name": "employee-${prefix}-${seed}",
                    "sequence": "${seed}",
                    "join_yr": 2007,
                    "join_mo": 10,
                    "join_day": 20,
                    "email": "${prefix}@couchbase.com",
                    "job_title": "Software Engineer-${padding}",
                    "desc": info["desc"].encode("utf-8", "ignore")
                }
            else:
                kv_template = params["kv_template"]

            options = {"size": size, "seed": params["seed"]}
            if "padding" in params:
                options["padding"] = params["padding"]
            docs = DocumentGenerator.make_docs(
                params["count"] / len(params["sizes"]), kv_template, options)
            task["docs"].append(docs)
        return task
    def create_loading_tasks(params):
        log = logger.Logger.get_logger()
        task = {
            "ops": params["ops"],
            "seed": params["seed"],
            "bucket": params["bucket"],
            "docs": [],
            "sizes": params["sizes"],
        }
        log.info("params : {0}".format(params))
        for size in params["sizes"]:
            info = RebalanceDataGenerator.job_info()
            if "kv_template" not in params:
                kv_template = {
                    "name": "employee-${prefix}-${seed}",
                    "sequence": "${seed}",
                    "join_yr": 2007,
                    "join_mo": 10,
                    "join_day": 20,
                    "email": "${prefix}@couchbase.com",
                    "job_title": "Software Engineer-${padding}",
                    "desc": info["desc"].encode("utf-8", "ignore"),
                }
            else:
                kv_template = params["kv_template"]

            options = {"size": size, "seed": params["seed"]}
            if "padding" in params:
                options["padding"] = params["padding"]
            docs = DocumentGenerator.make_docs(params["count"] / len(params["sizes"]), kv_template, options)
            task["docs"].append(docs)
        return task
示例#3
0
    def _iterative_load(self, info, tc, view, loads_per_iteration, verify_docs_loaded):
        loaded_docs = []

        try:
            smart = VBucketAwareMemcached(self.rest, self.bucket)
            for i in range(1,self.years + 1):
                for j in range(1, self.months + 1):
                    doc_sets = []
                    for k in range(1, self.days + 1):
                        kv_template = {"name": "employee-${prefix}-${seed}",
                                       "join_yr" : 2007+i, "join_mo" : j, "join_day" : k,
                                       "email": "${prefix}@couchbase.com",
                                       "job_title" : info["title"].encode("utf-8","ignore"),
                                       "type" : info["type"].encode("utf-8","ignore"),
                                       "desc" : info["desc"].encode("utf-8", "ignore")}
                        options = {"size": 256, "seed":  str(uuid.uuid4())[:7]}
                        docs = DocumentGenerator.make_docs(loads_per_iteration, kv_template, options)
                        doc_sets.append(docs)
                    #load docs
                    self._load_chunk(smart, doc_sets)
        except Exception as ex:
            view.results.addError(tc, sys.exc_info())
            raise ex