Skip to content

Commit

Permalink
tuning
Browse files Browse the repository at this point in the history
  • Loading branch information
pudo committed May 19, 2024
1 parent bfd6925 commit b0de8ba
Showing 1 changed file with 20 additions and 9 deletions.
29 changes: 20 additions & 9 deletions nomenklatura/store/versioned.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import orjson
import logging
from redis.client import Redis
from datetime import datetime, timezone
from typing import Generator, List, Optional, Set, Tuple, Dict
Expand All @@ -13,6 +14,8 @@
from nomenklatura.store.base import Store, View, Writer
from nomenklatura.util import pack_prop, unpack_prop

log = logging.getLogger(__name__)


def _pack_statement(stmt: Statement) -> bytes:
values = (
Expand All @@ -21,14 +24,16 @@ def _pack_statement(stmt: Statement) -> bytes:
stmt.dataset,
pack_prop(stmt.schema, stmt.prop),
stmt.value,
stmt.lang,
stmt.original_value,
stmt.lang or 0,
stmt.original_value or 0,
stmt.first_seen,
stmt.last_seen,
stmt.target,
stmt.external,
1 if stmt.target else 0,
1 if stmt.external else 0,
)
return orjson.dumps(values)
x = orjson.dumps(values)
print(x)
return x


def _unpack_statement(data: bytes, canonical_id: Optional[str] = None) -> Statement:
Expand All @@ -52,14 +57,14 @@ def _unpack_statement(data: bytes, canonical_id: Optional[str] = None) -> Statem
prop=prop,
schema=schema,
value=value,
lang=lang,
lang=None if lang == 0 else lang,
dataset=dataset,
original_value=original_value,
original_value=None if original_value == 0 else original_value,
first_seen=first_seen,
last_seen=last_seen,
target=target,
target=target == 1,
canonical_id=canonical_id or entity_id,
external=external,
external=external == 1,
)


Expand Down Expand Up @@ -125,6 +130,7 @@ def drop_version(self, dataset: str, version: str) -> None:
self.db.set(latest_key, previous)
else:
self.db.delete(latest_key)
log.info("Dropped store version: %s (%s)", dataset, version)

def close(self) -> None:
close_redis()
Expand Down Expand Up @@ -186,6 +192,11 @@ def release(self) -> None:
ds = self.dataset.name
self.store.db.set(b(f"ds:{ds}:latest"), b(self.version))
self.store.db.lpush(b(f"ds:{ds}:history"), b(self.version))
log.info("Released store version: %s (%s)", ds, self.version)
# try:
# self.store.db.execute_command("COMPACT")
# except Exception as ex:
# print(ex)

def close(self) -> None:
self.release()
Expand Down

0 comments on commit b0de8ba

Please sign in to comment.