ultrageopro
commited on
feat: neo4j custom timeouts & fix: neo4j max_pool_size
Browse files- lightrag/kg/neo4j_impl.py +15 -1
lightrag/kg/neo4j_impl.py
CHANGED
@@ -69,12 +69,24 @@ class Neo4JStorage(BaseGraphStorage):
|
|
69 |
config.get("neo4j", "connection_pool_size", fallback=800),
|
70 |
)
|
71 |
)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
72 |
DATABASE = os.environ.get(
|
73 |
"NEO4J_DATABASE", re.sub(r"[^a-zA-Z0-9-]", "-", namespace)
|
74 |
)
|
75 |
|
76 |
self._driver: AsyncDriver = AsyncGraphDatabase.driver(
|
77 |
-
URI,
|
|
|
|
|
|
|
|
|
78 |
)
|
79 |
|
80 |
# Try to connect to the database
|
@@ -82,6 +94,8 @@ class Neo4JStorage(BaseGraphStorage):
|
|
82 |
URI,
|
83 |
auth=(USERNAME, PASSWORD),
|
84 |
max_connection_pool_size=MAX_CONNECTION_POOL_SIZE,
|
|
|
|
|
85 |
) as _sync_driver:
|
86 |
for database in (DATABASE, None):
|
87 |
self._DATABASE = database
|
|
|
69 |
config.get("neo4j", "connection_pool_size", fallback=800),
|
70 |
)
|
71 |
)
|
72 |
+
CONNECTION_TIMEOUT = float(
|
73 |
+
os.environ.get("NEO4J_CONNECTION_TIMEOUT"),
|
74 |
+
config.get("neo4j", "connection_timeout", fallback=60.0),
|
75 |
+
)
|
76 |
+
CONNECTION_ACQUISITION_TIMEOUT = float(
|
77 |
+
os.environ.get("NEO4J_CONNECTION_ACQUISITION_TIMEOUT"),
|
78 |
+
config.get("neo4j", "connection_acquisition_timeout", fallback=60.0),
|
79 |
+
)
|
80 |
DATABASE = os.environ.get(
|
81 |
"NEO4J_DATABASE", re.sub(r"[^a-zA-Z0-9-]", "-", namespace)
|
82 |
)
|
83 |
|
84 |
self._driver: AsyncDriver = AsyncGraphDatabase.driver(
|
85 |
+
URI,
|
86 |
+
auth=(USERNAME, PASSWORD),
|
87 |
+
max_connection_pool_size=MAX_CONNECTION_POOL_SIZE,
|
88 |
+
connection_timeout=CONNECTION_TIMEOUT,
|
89 |
+
connection_acquisition_timeout=CONNECTION_ACQUISITION_TIMEOUT,
|
90 |
)
|
91 |
|
92 |
# Try to connect to the database
|
|
|
94 |
URI,
|
95 |
auth=(USERNAME, PASSWORD),
|
96 |
max_connection_pool_size=MAX_CONNECTION_POOL_SIZE,
|
97 |
+
connection_timeout=CONNECTION_TIMEOUT,
|
98 |
+
connection_acquisition_timeout=CONNECTION_ACQUISITION_TIMEOUT,
|
99 |
) as _sync_driver:
|
100 |
for database in (DATABASE, None):
|
101 |
self._DATABASE = database
|