问题描述
我有一个用于游戏状态更新的FastAPI端点。每个用户都有一定的猜测计数,如果该计数变为0,那么在可以补充猜测之前将有x秒的冷却计时器。
那么服务器端应该如何支持呢?当用户猜测计数变为0时,服务器应触发一个事件,使其可以休眠一段时间,直到猜测被补充为止。如果是,那该怎么办? FastAPI对此提供了什么?
解决方法
是的,您可以这样做,而无需编写代码就很难提供确切的答案,但是您可以通过Background Tasks
来实现。所以它看起来像这样:
from fastapi import BackgroundTasks
async def refresh_user_stats(user: User = Depends(get_current_user)):
do something here
@app.update()
async def refresh_user(background_tasks: BackgroundTasks):
background_tasks.add_task(refresh_user_stats())