From ebb166abee20b9435302d27078750b5ecf75f150 Mon Sep 17 00:00:00 2001 From: ekko <152005280+EKKOLearnAI@users.noreply.github.com> Date: Tue, 12 May 2026 21:17:40 +0800 Subject: [PATCH] fix: skip gateway shutdown during dev restarts (#661) Set HERMES_WEB_UI_STOP_GATEWAYS_ON_SHUTDOWN=0 in nodemon.json so nodemon restarts don't kill running gateways. Production behavior unchanged (stops owned gateways by default). Co-authored-by: Claude Opus 4.7 --- nodemon.json | 3 ++- packages/server/src/services/shutdown.ts | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/nodemon.json b/nodemon.json index f035e69..d150712 100644 --- a/nodemon.json +++ b/nodemon.json @@ -5,7 +5,8 @@ "ts": "node -r ts-node/register" }, "env": { - "TS_NODE_PROJECT": "packages/server/tsconfig.json" + "TS_NODE_PROJECT": "packages/server/tsconfig.json", + "HERMES_WEB_UI_STOP_GATEWAYS_ON_SHUTDOWN": "0" }, "exec": "node -r ts-node/register packages/server/src/index.ts", "nodeArgs": ["--no-warnings"], diff --git a/packages/server/src/services/shutdown.ts b/packages/server/src/services/shutdown.ts index 70c0f7d..f923b08 100644 --- a/packages/server/src/services/shutdown.ts +++ b/packages/server/src/services/shutdown.ts @@ -3,8 +3,8 @@ import { closeDb } from '../db' import { getGatewayManagerInstance } from './gateway-bootstrap' function shouldStopGatewaysOnShutdown(signal: string): boolean { - // 总是停止网关,无论是开发环境还是生产环境 - // 这样可以避免 nodemon 重启时的孤儿进程问题 + // nodemon may use SIGTERM on Windows restarts, so dev mode opts out via env. + // Production keeps stopping owned gateways by default. const override = process.env.HERMES_WEB_UI_STOP_GATEWAYS_ON_SHUTDOWN?.trim() if (override === '0' || override === 'false') return false if (override === '1' || override === 'true') return true