from fastapi import APIRouter from pydantic import BaseModel import asyncio router = APIRouter() class FactionRequest(BaseModel): faction_id: int refresh_interval: int async def update_friendly_faction_loop(faction_id: int, interval: int): while True: print(f"Refreshing friendly faction {faction_id}") # call your update_friendly_faction() here await asyncio.sleep(interval) async def update_enemy_faction_loop(faction_id: int, interval: int): while True: print(f"Refreshing enemy faction {faction_id}") # call your update_enemy_faction() here await asyncio.sleep(interval) @router.post("/refresh/friendly") async def refresh_friendly(data: FactionRequest): asyncio.create_task(update_friendly_faction_loop(data.faction_id, data.refresh_interval)) return {"status": "friendly loop started"} @router.post("/refresh/enemy") async def refresh_enemy(data: FactionRequest): asyncio.create_task(update_enemy_faction_loop(data.faction_id, data.refresh_interval)) return {"status": "enemy loop started"}