Explorar o código

fix: delay first kb_sync by 120s, increase gunicorn timeout to 600s

Xiaogang Liao hai 2 meses
pai
achega
6522d001e2
Modificáronse 2 ficheiros con 4 adicións e 2 borrados
  1. 1 1
      cfc-langgraph/Dockerfile
  2. 3 1
      cfc-langgraph/app/main.py

+ 1 - 1
cfc-langgraph/Dockerfile

@@ -32,7 +32,7 @@ CMD ["python3", "-m", "gunicorn", "app.main:app", \
      "--worker-class", "uvicorn.workers.UvicornWorker", \
      "--worker-class", "uvicorn.workers.UvicornWorker", \
      "--bind", "0.0.0.0:9000", \
      "--bind", "0.0.0.0:9000", \
      "--workers", "1", \
      "--workers", "1", \
-     "--timeout", "300", \
+     "--timeout", "600", \
      "--keep-alive", "10", \
      "--keep-alive", "10", \
      "--access-logfile", "-", \
      "--access-logfile", "-", \
      "--error-logfile", "-"]
      "--error-logfile", "-"]

+ 3 - 1
cfc-langgraph/app/main.py

@@ -54,6 +54,8 @@ async def startup():
     await retriever.initialize()
     await retriever.initialize()
 
 
     async def schedule_kb_sync():
     async def schedule_kb_sync():
+        # 首次同步延迟 120s,让 healthcheck 先通过,避免 worker 刚启动就被阻塞
+        await asyncio.sleep(120)
         while True:
         while True:
             try:
             try:
                 from app.tasks.knowledge_sync import sync_knowledge_base
                 from app.tasks.knowledge_sync import sync_knowledge_base
@@ -63,7 +65,7 @@ async def startup():
             await asyncio.sleep(3600)
             await asyncio.sleep(3600)
 
 
     asyncio.create_task(schedule_kb_sync())
     asyncio.create_task(schedule_kb_sync())
-    logger.info("知识库定时同步已启动 (间隔: 3600s)")
+    logger.info("知识库定时同步已启动 (首次延迟 120s,间隔 3600s)")
 
 
 
 
 @app.on_event("shutdown")
 @app.on_event("shutdown")