INFO:uvicorn.error:Started server process [21362] INFO: Waiting for application startup.

当使用nohup启动FastAPI并设置reload或debug为True时,Uvicorn会持续监测代码变动并重启进程,导致在nohup.out文件中循环打印信息。解决方法包括改变启动方式如使用Supervisord,重定向nohup.out到其他位置,或关闭reload和debug选项,并禁用uvicorn.error日志的propagate属性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

背景:

INFO:     Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
INFO:     Started reloader process [21360] using statreload
INFO:     Started server process [21362]
INFO:uvicorn.error:Started server process [21362]
INFO:     Waiting for application startup.
INFO:uvicorn.error:Waiting for application startup.
INFO:     Application startup complete.
INFO:uvicorn.error:Application startup complete.
^CINFO:     Shutting down
INFO:uvicorn.error:Shutting down
INFO:     Waiting for application shutdown.
INFO:uvicorn.error:Waiting for application shutdown.
INFO:     Application shutdown complete.
INFO:uvicorn.error:Application shutdown complete.
INFO:     Finished server process [21362]
INFO:uvicorn.error:Finished server process [21362]
INFO:     Stopping reloader process [21360]
1、用nohup的方式启动fastapi,
2、参数reload=True或者debug=True
3、nohup.out文件放在代码目录里

导致fastapi进程一直重启

原因:

debug或者reload为true且app是字符串时,uvicorn 会以重载的方式启动,会监测代码是否变化,变化后则重启进程。当重启后,会在nohup.out中打印,之后又会因为文件变化再次重新启动,陷入循环。
在这里插入图片描述
在这里插入图片描述

解决办法:

1、更改启动方式:/etc/supervisord.conf或其它
2、将nohup.out文件重定向到代码目录以外的文件
3、将reload和debug参数设为false
4、禁用uvicorn.error的propagate

logger = logging.getLogger("uvicorn.error")
logger.propagate = False
(paddlelabel) C:\Users\xiaomao>paddlelabel Starting PaddleLabel INFO [paddlelabel.util.189]: Currently installed paddlelabel version is 1.0.5, a newer version stderr=b"ERROR:Invalidrequirement:'paddlelabel==':Expectedendorsemicolon(afternameandnovalidversionspecifier is available on pypi. Please consider updating paddlelabel with: pip install --upgrade paddlelabel You can visit https://github.com/PaddleCV-SIG/PaddleLabel/blob/develop/doc/CN/release_notes.md to see more details about PaddleLabel updates. INFO [paddlelabel.config.19]: Database path: sqlite:///C:\Users\xiaomao\.paddlelabel\paddlelabel.db INFO [paddlelabel.__main__.119]: Version: 1.0.5 INFO [paddlelabel.__main__.120]: PaddleLabel is running at http://localhost:17995 INFO: Started server process [9088] INFO [uvicorn.error] Started server process [9088] INFO: Waiting for application startup. INFO [uvicorn.error] Waiting for application startup. INFO: Application startup complete. INFO [uvicorn.error] Application startup complete. INFO: Uvicorn running on http://127.0.0.1:17995 (Press CTRL+C to quit) INFO [uvicorn.error] Uvicorn running on http://127.0.0.1:17995 (Press CTRL+C to quit) WARNI [connexion.middleware.exceptions] HTTPException(status_code=404, detail='The requested URL was not found on the server. If you entered the URL manually please check your spelling and try again.') INFO: 127.0.0.1:51181 - "GET /static/index.html HTTP/1.1" 404 Not Found INFO: Shutting down INFO [uvicorn.error] Shutting down INFO: Waiting for application shutdown. INFO [uvicorn.error] Waiting for application shutdown. INFO: Application shutdown complete. INFO [uvicorn.error] Application shutdown complete. INFO: Finished server process [9088] INFO [uvicorn.error] Finished server process [9088] (paddlelabel) C:\Users\xiaomao> (paddlelabel) C:\Users\xiaomao>paddlelabel start --port 8090 Starting PaddleLabel usage: paddlelabel [-h] [--lan] [--port PORT] [--verbose] [--debug] [--home HOME] paddlelabel: error: unrecognized arguments: start (paddlelabel) C:\Users\xiaomao>paddlelabel Starting PaddleLabel INFO [paddlelabel.util.189]: Currently installed paddlelabel version is 1.0.5, a newer version stderr=b"ERROR:Invalidrequirement:'paddlelabel==':Expectedendorsemicolon(afternameandnovalidversionspecifier is available on pypi. Please consider updating paddlelabel with: pip install --upgrade paddlelabel You can visit https://github.com/PaddleCV-SIG/PaddleLabel/blob/develop/doc/CN/release_notes.md to see more details about PaddleLabel updates. INFO [paddlelabel.config.19]: Database path: sqlite:///C:\Users\xiaomao\.paddlelabel\paddlelabel.db INFO [paddlelabel.__main__.119]: Version: 1.0.5 INFO [paddlelabel.__main__.120]: PaddleLabel is running at http://localhost:17995 INFO: Started server process [13444] INFO [uvicorn.error] Started server process [13444] INFO: Waiting for application startup. INFO [uvicorn.error] Waiting for application startup. INFO: Application startup complete. INFO [uvicorn.error] Application startup complete. INFO: Uvicorn running on http://127.0.0.1:17995 (Press CTRL+C to quit) INFO [uvicorn.error] Uvicorn running on http://127.0.0.1:17995 (Press CTRL+C to quit) WARNI [connexion.middleware.exceptions] HTTPException(status_code=404, detail='The requested URL was not found on the server. If you entered the URL manually please check your spelling and try again.') INFO: 127.0.0.1:51230 - "GET /static/index.html HTTP/1.1" 404 Not Found
05-29
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值