Refactor Postgres connection string handling in ChatService to use environment variable for better configuration management in Docker and local development.
This commit is contained in:
parent
6f0ac0c588
commit
974d613fb0
|
|
@ -201,14 +201,20 @@ class ChatService:
|
|||
if not ChatService._checkpointer_initialized:
|
||||
from langgraph.checkpoint.postgres import PostgresSaver
|
||||
import psycopg2
|
||||
CONN_STRING = "postgresql://postgres:postgres@localhost:5433/postgres"
|
||||
ChatService._conn_string = CONN_STRING
|
||||
# LangGraph 使用的 Postgres 连接串,优先从环境变量读取,便于在 Docker / 本地区分配置
|
||||
# - Docker 内建议:LANGGRAPH_PG_URL=postgresql://drgraph:yingping@db:5432/th_agenter
|
||||
# - 本地开发可用: LANGGRAPH_PG_URL=postgresql://drgraph:yingping@localhost:5433/th_agenter
|
||||
conn_string = os.getenv(
|
||||
"LANGGRAPH_PG_URL",
|
||||
"postgresql://drgraph:yingping@localhost:5433/th_agenter",
|
||||
)
|
||||
ChatService._conn_string = conn_string
|
||||
|
||||
# 检查必要的表是否已存在
|
||||
tables_need_setup = True
|
||||
try:
|
||||
# 连接到数据库并检查表是否存在
|
||||
conn = psycopg2.connect(CONN_STRING)
|
||||
conn = psycopg2.connect(conn_string)
|
||||
cursor = conn.cursor()
|
||||
|
||||
# 检查langgraph需要的表是否存在
|
||||
|
|
@ -237,7 +243,7 @@ class ChatService:
|
|||
if tables_need_setup:
|
||||
self.session.desc = "ChatService初始化 - 正在进行PostgresSaver setup"
|
||||
try:
|
||||
async with AsyncPostgresSaver.from_conn_string(CONN_STRING) as checkpointer:
|
||||
async with AsyncPostgresSaver.from_conn_string(conn_string) as checkpointer:
|
||||
await checkpointer.setup()
|
||||
self.session.desc = "ChatService初始化 - PostgresSaver setup完成"
|
||||
logger.info("PostgresSaver setup完成")
|
||||
|
|
|
|||
Loading…
Reference in New Issue