目录
[uvicorn 启动重复加载 多次加载](#uvicorn 启动重复加载 多次加载)
uvicorn 启动重复加载 多次加载
fastapi_aa 是当前类
解决方法1:
python
import uvicorn
from fastapi import FastAPI
app = FastAPI()
if __name__ == "__main__":
if sys.gettrace() is not None or os.getenv("RUN_MODE") == "debug":
uvicorn.run(app=app, host="0.0.0.0", port=45503, workers=1, reload=False)
else:
uvicorn.run(app="fastapi_aa:app", host="0.0.0.0", port=45503, workers=1, reload=True)
解决方法2:
python
from prometheus_client import Counter, generate_latest, CollectorRegistry, multiprocess, CONTENT_TYPE_LATEST, make_asgi_app, Gauge
registry = CollectorRegistry()
# 定义 Prometheus 指标
CALL_COUNT = Counter(
"live_asr_method_calls_total_part3",
"part3 Total number of method calls",
["method", "status"],registry=registry
)
registry_1 = CollectorRegistry(auto_describe=True)
@app.get("/metrics")
def metrics():
return Response(generate_latest(registry), media_type="text/plain")
# @app.get('/metrics', response_class=Response)
# async def make_metrics_app():
# logger.info(f"call get metrics")
# registry = CollectorRegistry()
# multiprocess.MultiProcessCollector(registry)
# metrics_data = generate_latest(registry)
# return Response(content=metrics_data, media_type=CONTENT_TYPE_LATEST)