Hi!
I am trying make a fastapi app using the neo4j python driver (4.2.0) to connect to neo.
I am not very successful, as queries from one user block the queries from other users and I cant figure out why. Any helpful suggestions?
My code looks something like this:
from neo4j import GraphDatabase
from fastapi impor t FastAPI
neo4j_uri, username, password = get_neo_parameters()
app = FastAPI()
def get_driver(uri, username, password):
driver = GraphDatabase.driver(uri, auth=(username, password))
return driver
def run_graph_queries(uri, username, password, queries):
driver = get_driver(uri, username, password)
with driver.session() as session:
r = session.read_transaction(do_graph_queries, queries)
return r
def do_graph_query(tx, queries):
result = []
for query in queries:
res = tx.run(query['query'], query['parameters'])
result.append(res.graph())
return result
app.run_graph_queries = lamba x: run_graph_queries(neo4j_uri, username, password, x)
uvicorn.run("app", port=9999)
and then my endpoints calls request.app.run_graph_queries(queries) with queries from a POST.
I would be very grateful if someone could explain to me why this blocks all users..
Thanks