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:
|
if not ChatService._checkpointer_initialized:
|
||||||
from langgraph.checkpoint.postgres import PostgresSaver
|
from langgraph.checkpoint.postgres import PostgresSaver
|
||||||
import psycopg2
|
import psycopg2
|
||||||
CONN_STRING = "postgresql://postgres:postgres@localhost:5433/postgres"
|
# LangGraph 使用的 Postgres 连接串,优先从环境变量读取,便于在 Docker / 本地区分配置
|
||||||
ChatService._conn_string = CONN_STRING
|
# - 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
|
tables_need_setup = True
|
||||||
try:
|
try:
|
||||||
# 连接到数据库并检查表是否存在
|
# 连接到数据库并检查表是否存在
|
||||||
conn = psycopg2.connect(CONN_STRING)
|
conn = psycopg2.connect(conn_string)
|
||||||
cursor = conn.cursor()
|
cursor = conn.cursor()
|
||||||
|
|
||||||
# 检查langgraph需要的表是否存在
|
# 检查langgraph需要的表是否存在
|
||||||
|
|
@ -237,7 +243,7 @@ class ChatService:
|
||||||
if tables_need_setup:
|
if tables_need_setup:
|
||||||
self.session.desc = "ChatService初始化 - 正在进行PostgresSaver setup"
|
self.session.desc = "ChatService初始化 - 正在进行PostgresSaver setup"
|
||||||
try:
|
try:
|
||||||
async with AsyncPostgresSaver.from_conn_string(CONN_STRING) as checkpointer:
|
async with AsyncPostgresSaver.from_conn_string(conn_string) as checkpointer:
|
||||||
await checkpointer.setup()
|
await checkpointer.setup()
|
||||||
self.session.desc = "ChatService初始化 - PostgresSaver setup完成"
|
self.session.desc = "ChatService初始化 - PostgresSaver setup完成"
|
||||||
logger.info("PostgresSaver setup完成")
|
logger.info("PostgresSaver setup完成")
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue