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 <noreply@anthropic.com>
This commit is contained in:
ekko
2026-05-12 21:17:40 +08:00
committed by GitHub
parent 8b291d7a48
commit ebb166abee
2 changed files with 4 additions and 3 deletions
+2 -1
View File
@@ -5,7 +5,8 @@
"ts": "node -r ts-node/register" "ts": "node -r ts-node/register"
}, },
"env": { "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", "exec": "node -r ts-node/register packages/server/src/index.ts",
"nodeArgs": ["--no-warnings"], "nodeArgs": ["--no-warnings"],
+2 -2
View File
@@ -3,8 +3,8 @@ import { closeDb } from '../db'
import { getGatewayManagerInstance } from './gateway-bootstrap' import { getGatewayManagerInstance } from './gateway-bootstrap'
function shouldStopGatewaysOnShutdown(signal: string): boolean { function shouldStopGatewaysOnShutdown(signal: string): boolean {
// 总是停止网关,无论是开发环境还是生产环境 // nodemon may use SIGTERM on Windows restarts, so dev mode opts out via env.
// 这样可以避免 nodemon 重启时的孤儿进程问题 // Production keeps stopping owned gateways by default.
const override = process.env.HERMES_WEB_UI_STOP_GATEWAYS_ON_SHUTDOWN?.trim() const override = process.env.HERMES_WEB_UI_STOP_GATEWAYS_ON_SHUTDOWN?.trim()
if (override === '0' || override === 'false') return false if (override === '0' || override === 'false') return false
if (override === '1' || override === 'true') return true if (override === '1' || override === 'true') return true