Uvicorn重载配置异常:如何仅监控app与config目录?
解决Uvicorn仅监控指定目录的问题
要实现仅监控app和config目录,只需通过reload_dirs明确指定监控范围,配合合理的reload_includes过滤触发重载的文件,无需设置错误的reload_excludes规则。
正确代码示例
uvicorn.run( "app.main:fast", host=host, port=port, log_level=log_level, reload=reload, reload_dirs=["app", "config"], # 限定仅监控这两个目录 reload_includes=["*.py", "manage.py", ".env"] # 指定需触发重载的文件类型及额外文件 )
关键说明
reload_dirs:直接锁定Uvicorn的监控范围,private目录会被自动排除,不会触发重载。reload_includes:在reload_dirs的基础上,进一步指定哪些文件变化需要触发重载——*.py匹配两个目录下的所有Python文件,同时包含manage.py和.env这类额外文件。- 避免使用
reload_excludes=["*.py"]:该规则会全局排除所有Python文件,包括app和config内的文件,直接导致重载功能失效,这也是你之前配置出错的核心原因。
内容的提问来源于stack exchange,提问作者acw
相关产品推荐
相关产品推荐

