Batch Service

Motor de Procesamiento de Nóminas

Servicio backend de alto rendimiento encargado de calcular, procesar y dispersar pagos de nómina para más de 20,000 empleados mensualmente.

El Problema

El proceso anterior tomaba 3 días en ejecutarse y requiera supervisión manual constante.

La Solución

Desarrollé un Windows Service (.NET Worker) que se ejecuta en segundo plano, procesando lotes de empleados en paralelo.

Resultados

  • Reducción de Tiempo: De 3 días a 4 horas.
  • Cero Errores: Validaciones automáticas de cuentas bancarias y montos antes de la dispersión.

Tecnología

  • Paralelismo: Uso intensivo de Parallel.ForEach y Task de la TPL (Task Parallel Library).
  • Acceso a Datos: Dapper para máxima velocidad en operaciones de lectura/escritura masiva en SQL Server.
  • Archivos: Generación de archivos TXT para bancos (BCP, BBVA, Interbank) almacenados en Azure Blob Storage.

Tecnologías

  • C#
  • .NET Worker Service
  • Dapper
  • Azure Blob Storage