Files
microservice/celery_app.py

34 lines
1.3 KiB
Python

from celery import Celery
from core.config import settings
import os
# Configuración de Celery
celery_app = Celery(
"microservice",
broker=f"redis://{os.getenv('REDIS_HOST', 'localhost')}:{os.getenv('REDIS_PORT', '6379')}/{os.getenv('REDIS_DB', '0')}",
backend=f"redis://{os.getenv('REDIS_HOST', 'localhost')}:{os.getenv('REDIS_PORT', '6379')}/{os.getenv('REDIS_DB', '0')}",
include=['tasks']
)
# Configuración adicional
celery_app.conf.update(
task_serializer='json',
accept_content=['json'],
result_serializer='json',
timezone='UTC',
enable_utc=True,
task_track_started=True,
task_time_limit=3600, # 1 hour timeout
worker_prefetch_multiplier=1,
worker_max_tasks_per_child=1000,
)
# Autodiscovery of tasks
celery_app.autodiscover_tasks()
from api.api_v2.modules.acuses.tasks import process_acuse_request
from api.api_v2.modules.coves.tasks import process_cove_request, process_acuse_cove_request
from api.api_v2.modules.edocs.tasks import process_edoc_download_request, process_edocs_masivo_download_request
from api.api_v2.modules.pedimentos.tasks import process_pedimento_completo_request
from api.api_v2.modules.partidas.tasks import process_partida_request
from api.api_v2.modules.remesas.tasks import process_remesa_request