如果我有以下代码,变量
我问上面的问题是假设Service实例是无状态的,即在每个端点中创建一个Service实例是等效的。我不愿意这样做,因为我不知道哪种方式更耗时,实例化和销毁Service对象还是分享一个对象?
service
将如何影响端点的异步性?该变量是否会被共享?还是在使用时会被锁定,从而阻止其他端点访问它,直到当前端点完成为止?我问上面的问题是假设Service实例是无状态的,即在每个端点中创建一个Service实例是等效的。我不愿意这样做,因为我不知道哪种方式更耗时,实例化和销毁Service对象还是分享一个对象?
from typing import List, Union
from fastapi import APIRouter, Body, Depends
# Service definition
router = APIRouter()
service = Service()
@router.post("/a", response_model=Union[A, None])
async def x():
service.start()
pass
@router.post("/b", response_model=Union[B, None])
async def y():
service.stop()
pass