用户属性更新时如何触发事件?

问题描述

我有一个用于游戏状态更新的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())