fix: config.json变化时不触发hot_reload事件,避免不必要的模块缓存清理
config变化只重新加载JsonConfig单例; 信号文件/HTTP端点/i18n变化才触发hot_reload事件清理缓存。
This commit is contained in:
parent
4522a29ec6
commit
b51d3f28d6
@ -203,6 +203,10 @@ async def hot_reload_task(app, reloader):
|
|||||||
reloaded = reloader.check_and_reload()
|
reloaded = reloader.check_and_reload()
|
||||||
if reloaded:
|
if reloaded:
|
||||||
info(f'[hot_reload] reloaded: {list(reloaded.keys())}')
|
info(f'[hot_reload] reloaded: {list(reloaded.keys())}')
|
||||||
|
# Only dispatch hot_reload event for non-config changes
|
||||||
|
# Config-only reload just refreshes JsonConfig singleton, no cache clearing needed
|
||||||
|
needs_cache_clear = any(k != 'config' for k in reloaded)
|
||||||
|
if needs_cache_clear:
|
||||||
await dispatcher.dispatch('hot_reload', reloaded)
|
await dispatcher.dispatch('hot_reload', reloaded)
|
||||||
except asyncio.CancelledError:
|
except asyncio.CancelledError:
|
||||||
info('[hot_reload] stopped')
|
info('[hot_reload] stopped')
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user