This commit is contained in:
parent
fb42dba59f
commit
f8a046ddab
@ -162,6 +162,13 @@ class BaseApplication(RPCApplication):
|
|||||||
|
|
||||||
|
|
||||||
class WebDbApplication(BaseApplication):
|
class WebDbApplication(BaseApplication):
|
||||||
|
|
||||||
|
@property
|
||||||
|
def loop(self):
|
||||||
|
return asyncio.get_event_loop()
|
||||||
|
|
||||||
|
async def run_in_executor(self, func, *args, **kwargs):
|
||||||
|
return await self.loop.run_in_executor(None, func, *args, **kwargs)
|
||||||
|
|
||||||
def __init__(
|
def __init__(
|
||||||
self, db=None, db_web=False, db_path="sqlite:///:memory:", *args, **kwargs
|
self, db=None, db_web=False, db_path="sqlite:///:memory:", *args, **kwargs
|
||||||
@ -235,14 +242,14 @@ class WebDbApplication(BaseApplication):
|
|||||||
return web.json_response(response)
|
return web.json_response(response)
|
||||||
|
|
||||||
async def set(self, key, value):
|
async def set(self, key, value):
|
||||||
return self.sset(key, value)
|
return await self.run_in_executor(self.sset, key, value)
|
||||||
|
|
||||||
def sset(self, key, value):
|
def sset(self, key, value):
|
||||||
value = json.dumps(value, default=str)
|
value = json.dumps(value, default=str)
|
||||||
return self.db["kv"].upsert({"key": key, "value": value}, ["key"])
|
return self.db["kv"].upsert({"key": key, "value": value}, ["key"])
|
||||||
|
|
||||||
async def get(self, key, default=None):
|
async def get(self, key, default=None):
|
||||||
return self.sget(key, default)
|
return await self.run_in_executor(self.sget,key, default)
|
||||||
|
|
||||||
def sget(self, key, default=None):
|
def sget(self, key, default=None):
|
||||||
record = self.db["kv"].find_one(key=key)
|
record = self.db["kv"].find_one(key=key)
|
||||||
|
Loading…
Reference in New Issue
Block a user