ソースを参照

fix(demand): load env in controlled entrypoints

SamLee 1 ヶ月 前
コミット
8d7034afaf

+ 9 - 0
examples/demand/run_existing_execution_local.py

@@ -17,6 +17,14 @@ from zoneinfo import ZoneInfo
 sys.path.insert(0, str(Path(__file__).parent.parent.parent))
 
 
+def _load_project_env() -> None:
+    try:
+        from dotenv import load_dotenv
+    except ImportError:
+        return
+    load_dotenv(Path(__file__).parent.parent.parent / ".env")
+
+
 def _default_output_root(execution_id: int) -> Path:
     ts = datetime.now(ZoneInfo("Asia/Shanghai")).strftime("%Y%m%d_%H%M%S")
     return Path(__file__).parent / "test_output_data" / f"execution_{execution_id}_{ts}"
@@ -83,6 +91,7 @@ def parse_args() -> argparse.Namespace:
 
 
 async def async_main() -> dict:
+    _load_project_env()
     args = parse_args()
     output_root = _resolve_output_root(args.execution_id, args.run_id, args.output_root)
     _configure_local_env(args.execution_id, output_root)

+ 9 - 0
examples/demand/run_existing_execution_mysql.py

@@ -18,6 +18,14 @@ from pathlib import Path
 sys.path.insert(0, str(Path(__file__).parent.parent.parent))
 
 
+def _load_project_env() -> None:
+    try:
+        from dotenv import load_dotenv
+    except ImportError:
+        return
+    load_dotenv(Path(__file__).parent.parent.parent / ".env")
+
+
 def _configure_mysql_env(run_label: str | None) -> None:
     os.environ["DEMAND_OUTPUT_MODE"] = "mysql_demand_content"
     os.environ["DEMAND_MYSQL_ENTRYPOINT"] = "run_existing_execution_mysql"
@@ -50,6 +58,7 @@ def parse_args() -> argparse.Namespace:
 
 
 async def async_main() -> dict:
+    _load_project_env()
     args = parse_args()
     _configure_mysql_env(args.run_label)
     _validate_execution_success(args.execution_id)