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