Skip to content
Extraits de code Groupes Projets
Valider 86701d27 rédigé par Guillaume Schurck's avatar Guillaume Schurck
Parcourir les fichiers

add dynamic caching for software merge and increase caching time

parent 4a5c6bf2
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
......@@ -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}
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter