From 86701d273baab05392a9fa6b764d030c32d137ee Mon Sep 17 00:00:00 2001 From: Guillaume Schurck <g.schurck@gmail.com> Date: Mon, 21 Nov 2022 23:11:41 +0100 Subject: [PATCH] add dynamic caching for software merge and increase caching time --- sg-backend/main.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/sg-backend/main.py b/sg-backend/main.py index 006d15e..09f417d 100644 --- a/sg-backend/main.py +++ b/sg-backend/main.py @@ -46,14 +46,14 @@ app.add_middleware( @app.get("/software") -@cache(expire=60, key_builder=lambda *args, **kwargs: "software") +@cache(expire=300, key_builder=lambda *args, **kwargs: "software") async def software(): results = driver.get_softwares() return {"softwares": json.loads(json.dumps(results))} @app.get("/software-graph") -@cache(expire=60, key_builder=lambda *args, **kwargs: "software-graph") +@cache(expire=300, key_builder=lambda *args, **kwargs: "software-graph") async def software(): nodes = driver.get_nodes() jnodes = json.loads(json.dumps(nodes)) @@ -87,9 +87,15 @@ async def software(): return jsondata +def dynamic_software_merge_key_builder(func, *args, **kwargs): + search: SoftwareSearch = kwargs['kwargs']['search'] + key = f"software-merge-{search.software1}-{search.software2}" + return key + + @app.post("/software-search") +@cache(expire=300, key_builder=dynamic_software_merge_key_builder) async def software_search(search: SoftwareSearch): - print(search.software1, search.software2) res = driver.get_softwares_shortest_path(search) return {"softwares": res} -- GitLab