Browse Source

Merge branch 'master' into dev-1210

max_liu 2 days ago
parent
commit
0b2393eac0
6 changed files with 17 additions and 11 deletions
  1. 6 0
      decode_task/decodeTask.py
  2. 3 1
      docker-compose.yaml
  3. 2 3
      main.py
  4. 2 2
      src/models/database.py
  5. 2 2
      src/utils/llm_invoker.py
  6. 2 3
      utils/sync_mysql_help.py

+ 6 - 0
decode_task/decodeTask.py

@@ -1,4 +1,5 @@
 import json
+import os
 from loguru import logger
 import sys
 import time
@@ -40,6 +41,11 @@ def get_decode_result_by_id(task_id:str):
 
 def  decode_task_status_handler():
     # 从数据库中获取任务,每次获取一个
+    api_key = os.getenv("GEMINI_API_KEY") or os.getenv("GOOGLE_API_KEY")
+    
+    logger.error(f"❌ GEMINI_API_KEY = {api_key}")
+        
+    
     sql = "SELECT * FROM decode_record WHERE task_status = 0 ORDER BY create_timestamp ASC LIMIT 1"
     task = mysql.fetchone(sql)
    

+ 3 - 1
docker-compose.yaml

@@ -10,6 +10,8 @@ services:
     restart: always
     ports:
       - "8000:8000"
+    env_file:
+      - .env
     environment:
-      - ENV=prod
+      - APP_ENV=prod
     entrypoint: ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000"]

+ 2 - 3
main.py

@@ -5,7 +5,7 @@ from fastapi import FastAPI, HTTPException, Request
 from fastapi.responses import JSONResponse
 from pydantic import BaseModel
 from utils.params import TaskStatusParam, DecodeListParam,EvaluateListParam,EvaluateStatusParam
-from dotenv import load_dotenv
+from dotenv import load_dotenv, find_dotenv
 
 
 from decode_task.decodeTask import get_decode_result_by_id as get_decode_result_by_id_db
@@ -24,7 +24,7 @@ import sys
 
 logger.add(sink=sys.stderr, level="ERROR", backtrace=True, diagnose=True)
 
-load_dotenv()
+load_dotenv(find_dotenv(), override=False)
 app = FastAPI()
 
 scheduler = TaskScheduler()
@@ -153,4 +153,3 @@ def get_evaluate_result(param: EvaluateStatusParam):
         } 
     }
 
-

+ 2 - 2
src/models/database.py

@@ -5,7 +5,7 @@
 """
 
 import os
-from dotenv import load_dotenv
+from dotenv import load_dotenv, find_dotenv
 from typing import Generator
 from sqlalchemy import create_engine
 from sqlalchemy.ext.declarative import declarative_base
@@ -37,7 +37,7 @@ def get_database_url() -> str:
         DB_PASSWORD: 数据库密码 (必需)
         DB_NAME: 数据库名称 (默认: content-deconstruction)
     """
-    load_dotenv()
+    load_dotenv(find_dotenv(), override=False)
     env = (os.getenv("APP_ENV") or os.getenv("ENV") or "local").lower()
     host = os.getenv("DB_HOST", "rm-t4nh1xx6o2a6vj8qu3o.mysql.singapore.rds.aliyuncs.com")
     port = os.getenv("DB_PORT", "3306")

+ 2 - 2
src/utils/llm_invoker.py

@@ -12,7 +12,7 @@ import time
 from typing import Any, List, Dict, Optional
 
 from google import genai
-from dotenv import load_dotenv
+from dotenv import load_dotenv, find_dotenv
 
 from src.utils.logger import get_logger
 from src.utils.json_extractor import JSONExtractor
@@ -31,7 +31,7 @@ def _get_client():
     """获取 Gemini Client 实例"""
     global _client
     if _client is None:
-        load_dotenv()
+        load_dotenv(find_dotenv(), override=False)
         api_key = os.getenv("GEMINI_API_KEY") or os.getenv("GOOGLE_API_KEY")
         if not api_key:
             raise ValueError("GEMINI_API_KEY or GOOGLE_API_KEY not found in environment")

+ 2 - 3
utils/sync_mysql_help.py

@@ -2,7 +2,7 @@ import os
 from loguru import logger
 
 import pymysql
-from dotenv import load_dotenv
+from dotenv import load_dotenv, find_dotenv
 
 
 from typing import Tuple, Any, Dict, Literal, Optional
@@ -24,7 +24,7 @@ class SyncMySQLHelper(object):
     def get_pool(self):
         if self._pool is None:
             # 加载环境变量,允许通过 .env 配置本机调试数据库
-            load_dotenv()
+            load_dotenv(find_dotenv(), override=False)
             env = (os.getenv('APP_ENV') or os.getenv('ENV') or 'local').lower()
             logger.info(f"✅ env = {env}")
             host = os.getenv('DB_HOST', 'rm-t4nh1xx6o2a6vj8qu3o.mysql.singapore.rds.aliyuncs.com')
@@ -97,4 +97,3 @@ class SyncMySQLHelper(object):
 
 
 mysql = SyncMySQLHelper()
-