fix: hot-reload trade direction/whitelist on env save without forced restart.
EOF Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -401,6 +401,17 @@ AUTO_TRANSFER_BJ_HOUR = int(os.getenv("AUTO_TRANSFER_BJ_HOUR", "8"))
|
||||
POSITION_SIZING_MODE = load_position_sizing_mode()
|
||||
KEY_AUTO_ORDER_ENABLED = load_key_auto_order_enabled()
|
||||
TRADE_POLICY = load_trade_policy()
|
||||
|
||||
|
||||
def _reload_trade_policy_from_env(changed_keys=None):
|
||||
"""env 保存后热更新方向/白名单策略(无需重启)."""
|
||||
global TRADE_POLICY
|
||||
keys = set(changed_keys or [])
|
||||
from lib.env.env_schema import TRADE_POLICY_ENV_KEYS
|
||||
|
||||
if keys and not keys.intersection(TRADE_POLICY_ENV_KEYS):
|
||||
return
|
||||
TRADE_POLICY = load_trade_policy()
|
||||
WECHAT_TIMEOUT_SECONDS = int(os.getenv("WECHAT_TIMEOUT_SECONDS", "10"))
|
||||
AI_TIMEOUT_SECONDS = int(os.getenv("AI_TIMEOUT_SECONDS", "120"))
|
||||
MONITOR_POLL_SECONDS = int(os.getenv("MONITOR_POLL_SECONDS", "3"))
|
||||
@@ -9895,6 +9906,7 @@ try:
|
||||
exchange_key="gate",
|
||||
username=USERNAME,
|
||||
password=PASSWORD,
|
||||
on_env_changed=lambda keys: _reload_trade_policy_from_env(keys),
|
||||
)
|
||||
except Exception as _settings_err:
|
||||
print(f"[instance_settings] gate: {_settings_err}")
|
||||
|
||||
Reference in New Issue
Block a user