新增热重载:文件变更自动重启(开发用,默认关)
- musicbot/reload.py:轮询监控 musicbot/ 下的 .py 与 intents.toml/.env, 变更后重启 bot 子进程;跳过 logs/、__pycache__/、.venv/ - 进程级重启而非模块重载:长连接 + 模块级状态 + handler 闭包, 就地重载易留幽灵 handler,重启子进程状态干净 - 子进程用 _MUSICBOT_RELOAD_CHILD 标记,不会套娃自我复制 - Windows 用 taskkill /T 收整棵进程树,实测连续重载无进程泄漏 - 开启方式:`uv run musicbot --reload`(start.bat 已带)或 RELOAD=on - 监督者不配日志,避免与子进程抢写同一日志文件
This commit is contained in:
1 parent
9bcdad7aa1
commit
a11c0b375f
8 files changed
+266
-4
No files matched your search
@@ -25,3 +25,7 @@ SEND_MODE=link
|
||||
# 日志同时输出到控制台与 LOG_DIR/musicbot.log(按天轮转、保留 7 天)
|
||||
LOG_LEVEL=INFO
|
||||
LOG_DIR=logs
|
||||
|
||||
# 热重载(开发用):on 时监控源码与 intents.toml/.env,变更后自动重启 bot。
|
||||
# 默认 off;也可用命令行 `musicbot --reload` 开启(start.bat 已带该参数)。
|
||||
RELOAD=off
|
||||
Reference in new issue
Block a user