Files
microservice/api/api_v2/modules/partidas/tasks.py

27 lines
739 B
Python

from celery import Celery
from celery_app import celery_app
import asyncio
import logging
from typing import Dict, Any
from contextlib import asynccontextmanager
from .services import consume_ws_get_partida
@celery_app.task
def process_partida_request(partida_request: Dict[str, Any]) -> Dict[str, Any]:
"""
Tarea de Celery para procesar la solicitud de partida.
Args:
partida_request: Diccionario con los datos de la solicitud de partida.
Returns:
Diccionario con la respuesta de la partida.
"""
loop = asyncio.get_event_loop()
partida_response = loop.run_until_complete(consume_ws_get_partida(**partida_request))
return {"status": "processed", "data": partida_response}