ultrageopro commited on
Commit
eeb06c1
·
unverified ·
1 Parent(s): 18f2249

feat: neo4j custom timeouts & fix: neo4j max_pool_size

Browse files
Files changed (1) hide show
  1. 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, auth=(USERNAME, PASSWORD)
 
 
 
 
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