24 lines
769 B
Python
24 lines
769 B
Python
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
|