def store(self, redis_instance=None): if redis_instance is None: r = get_redis_instance() else: r = redis_instance key = ExpKeys.get_scope_key(self.exp.pk, scope_name=self.name) r.set(key, pickle.dumps(self.scope_vars)) log.debug("Scope `%s` was saved to storage", self.name)
def store(self, redis_instance=None): if redis_instance is None: r = get_redis_instance() else: r = redis_instance key = ExpKeys.get_scope_key(self.exp.pk, scope_name=self.name) r.set(key, pickle.dumps(self.scope_vars)) log.debug("Scope `%s` was saved to storage", self.name)
def load(self, redis_instance=None): if redis_instance is None: r = get_redis_instance() else: r = redis_instance key = ExpKeys.get_scope_key(self.exp.pk, scope_name=self.name) raw = r.get(key) if raw is not None: self.scope_vars = pickle.loads(raw) # TODO: set scope name during scope_var creation for scope_var in self.scope_vars: scope_var.scope_name = self.name
def load(self, redis_instance=None): if redis_instance is None: r = get_redis_instance() else: r = redis_instance key = ExpKeys.get_scope_key(self.exp.pk, scope_name=self.name) raw = r.get(key) if raw is not None: self.scope_vars = pickle.loads(raw) # TODO: set scope name during scope_var creation for scope_var in self.scope_vars: scope_var.scope_name = self.name
def post_init(self, redis_instance=None): ## TODO: RENAME TO init experiment and invoke on first save if redis_instance is None: r = get_redis_instance() else: r = redis_instance pipe = r.pipeline() pipe.hset(ExpKeys.get_scope_creating_block_uuid_keys(self.pk), "root", None) pipe.sadd(ExpKeys.get_all_exp_keys_key(self.pk),[ ExpKeys.get_exp_blocks_list_key(self.pk), ExpKeys.get_blocks_uuid_by_alias(self.pk), ExpKeys.get_scope_creating_block_uuid_keys(self.pk), ExpKeys.get_scope_key(self.pk, "root") ]) pipe.execute()
def post_init(self, redis_instance=None): ## TODO: RENAME TO init experiment and invoke on first save if redis_instance is None: r = get_redis_instance() else: r = redis_instance pipe = r.pipeline() pipe.hset(ExpKeys.get_scope_creating_block_uuid_keys(self.pk), "root", None) pipe.sadd(ExpKeys.get_all_exp_keys_key(self.pk),[ ExpKeys.get_exp_blocks_list_key(self.pk), ExpKeys.get_blocks_uuid_by_alias(self.pk), ExpKeys.get_scope_creating_block_uuid_keys(self.pk), ExpKeys.get_scope_key(self.pk, "root") ]) pipe.execute()
def load(self, redis_instance=None): if redis_instance is None: r = get_redis_instance() else: r = redis_instance key = ExpKeys.get_scope_key(self.exp.pk, scope_name=self.name) raw = r.get(key) if raw is not None: vars_p = pickle.loads(raw) if isinstance(vars_p, list): self.scope_vars = vars_p[0] self.temp_vars = dict() elif isinstance(vars_p, set): self.scope_vars = vars_p self.load_temp() if isinstance(self.temp_vars, list): self.temp_vars = dict() # TODO: set scope name during scope_var creation for scope_var in self.scope_vars: scope_var.scope_name = self.name
def load(self, redis_instance=None): if redis_instance is None: r = get_redis_instance() else: r = redis_instance key = ExpKeys.get_scope_key(self.exp.pk, scope_name=self.name) raw = r.get(key) if raw is not None: vars_p = pickle.loads(raw) if isinstance(vars_p, list): self.scope_vars = vars_p[0] self.temp_vars = dict() elif isinstance(vars_p, set): self.scope_vars = vars_p self.load_temp() if isinstance(self.temp_vars, list): self.temp_vars = dict() # TODO: set scope name during scope_var creation for scope_var in self.scope_vars: scope_var.scope_name = self.name