@asynccontextmanager
async def lifespan(app: FastAPI):
# Setup
app.state.session_store = {}
yield
< /code>
В другом файле у меня есть следующая функция: < /p>
def get_user_state(request: Request, response: Response) -> AppState:
logger.debug("Session state called")
session_store = request.app.state.session_store
logger.debug(f"Session store: {session_store}")
session_id = request.headers.get("user-id")
if session_id not in session_store:
session_store[session_id] = AppState()
return session_store[session_id]
< /code>
его вызывают с: < /p>
@router.post("/endpoint")
async def my_function(
body: MyRequest,
request: Request,
response: Response,
user_state: AppState = Depends(get_user_state)
):
Если два экземпляра работают с различными значениями user_id , я вижу, что session_store имеет два разных объекта AppState () . Однако, если я добавлю переменную в одну из них, она будет добавлена в обоих. Почему ??
У меня есть приложение FASTAPI. В main.py : [code]@asynccontextmanager async def lifespan(app: FastAPI): # Setup app.state.session_store = {} yield < /code> В другом файле у меня есть следующая функция: < /p> def get_user_state(request: Request, response: Response) -> AppState: logger.debug("Session state called") session_store = request.app.state.session_store logger.debug(f"Session store: {session_store}") session_id = request.headers.get("user-id") if session_id not in session_store: session_store[session_id] = AppState() return session_store[session_id] < /code> его вызывают с: < /p> @router.post("/endpoint") async def my_function( body: MyRequest, request: Request, response: Response, user_state: AppState = Depends(get_user_state) ): [/code] Если два экземпляра работают с различными значениями user_id , я вижу, что session_store имеет два разных объекта AppState () . Однако, если я добавлю переменную в одну из них, она будет добавлена в обоих. Почему ??
Я сталкиваюсь с этой ситуацией:
У меня есть приложение Fastapi, работающее, например, 10.11.12.13:8000 , и я «зарегистрирует» несколько «работников» с этим адресом. Клиенты могут отправлять запросы ( каждый запрос уникальный ) работнику по...
Context
I have an existing Linux Azure Function running on .Net 6 (In-process) v4. I have a lot of configuration coming from appsettings.json. Most of these configurations are objects with nested properties or arrays (nothing fancy, but common...
Контекст
У меня есть функция Linux Azure, работающая в .Net 6 (в процессе) v4. У меня есть много настроек, исходящих из appsettings.json . Most of these configurations are objects with nested properties or arrays (nothing fancy, but common JSON)....
Недавно я перенес свои устойчивые функции Azure из inProcess в изолированный режим. Похоже, операция перемотка в изолированном режиме не поддерживается. Был ли он заменен? Как я могу повторно выполнить последний шаг, если экземпляр «сбой»?...
Контекст
У меня есть функция Linux Azure, работающая в .Net 6 (в процессе) v4. У меня есть много настроек из appsettings.json. Большинство этих конфигураций представляют собой объекты с вложенными свойствами или массивами (ничего особенного, но...