def _store_item_batch(self, key, value): data = {} self._key_check(key) for k, v in six.iteritems(value): if k.startswith('_'): continue # convert set to list manually for successful serialization v = restruct_for_pack(v) k = to_bytes(k) data[b"m:%s" % k] = packb(v, use_bin_type=True) tries = 3 while data and tries > 0: try: self._batch.put(key, data) except ValueError: self.logger.exception("Exception happened during item storing, %d tries left", tries) data_lengths = dict((k, len(v)) for k, v in six.iteritems(data)) self.logger.info("RK %s per-column lengths %s", key, str(data_lengths)) for k, length in data_lengths.items(): if length > self.MAX_VALUE_SIZE: self.logger.info("Dropping key %s", k) del data[k] tries -= 1 continue else: break
def _store_item_batch(self, key, value): data = {} self._key_check(key) for k, v in six.iteritems(value): if k.startswith('_'): continue # convert set to list manually for successful serialization v = restruct_for_pack(v) k = to_bytes(k) data[b"m:%s" % k] = packb(v, use_bin_type=True) tries = 3 while data and tries > 0: try: self._batch.put(key, data) except ValueError: self.logger.exception("Exception happened during item storing, %d tries left", tries) data_lengths = dict((k, len(v)) for k, v in six.iteritems(data)) self.logger.info("RK %s per-column lengths %s", key, str(data_lengths)) for k, length in list(data_lengths.items()): if length > self.MAX_VALUE_SIZE: self.logger.info("Dropping key %s", k) del data[k] tries -= 1 continue else: break
def _prepare_request_message(request): return [ request.url, request.method, request.headers, request.cookies, restruct_for_pack(request.meta) ]