import asyncio from fastapi import APIRouter, Request from handler_data import HandlerEvent router = APIRouter() from models import EventModel @router.post("/event/") async def event(request: Request, item: EventModel): item.preset.ip = item.preset.ip or request.client.host ta = getattr(request.app.state.ta, item.act) # 将不同游戏发送到不同 topic_name request.app.state.ta.consumer.topic_name = item.game rdb = request.app.state.redis await asyncio.gather(*map(lambda o: asyncio.create_task(o(rdb, item)), HandlerEvent.handler_link)) properties = item.dict()['properties'] ta(item.preset.distinct_id, item.preset.account_id, item.preset.event_name, properties) results = {"code": 0, 'msg': 'ok'} return results