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

28 lines
770 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 post_remesa_data
from api.api_v2.modules.tasks.tasks import run_async_task
@celery_app.task
def process_remesa_request(remesa_request: Dict[str, Any]) -> Dict[str, Any]:
"""
Tarea de Celery para procesar la solicitud de acuse.
Args:
acuse_request: Diccionario con los datos de la solicitud de acuse.
Returns:
Diccionario con la respuesta del acuse.
"""
loop = asyncio.get_event_loop()
remesa_response = loop.run_until_complete(post_remesa_data(**remesa_request))
return {"status": "processed", "data": remesa_response}