Tengo puntos finales de FastAPI para actualizaciones de estado del juego. Cada usuario tiene un recuento de conjeturas y, si se convierte en 0, habrá un temporizador de enfriamiento durante x segundos antes de que se puedan reponer las conjeturas.
Entonces, ¿cómo debería ser compatible con esto desde el extremo del servidor? Si el servidor activa un evento cuando el conteo de conjeturas de un usuario se convierte en 0, puede dormir durante el tiempo de enfriamiento hasta que se repongan las conjeturas. En caso afirmativo, ¿cómo se puede hacer eso? ¿Hay algo que FastAPI proporcione al respecto?
Sí, puede hacerlo, sin código es difícil proporcionar una respuesta exacta, pero puede lograrlo mediante Tareas en segundo plano.
Así que podría verse algo como esto:
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())