Home Projects Portfolio Dashboard Export PDF Log in
PHP Redis Laravel

Optimización del ciclo de vida de los recursos en Reimpact/platform

En el proyecto Reimpact/platform, hemos llevado a cabo una serie de mejoras técnicas orientadas a la calidad y eficiencia del manejo de recursos en nuestro módulo de empaquetado. El objetivo principal ha sido refactorizar la lógica de preparación de modelos para garantizar un comportamiento consistente y mejorar el rendimiento.

Centralización de la Lógica de Preparación

Uno de los cambios más destacados es la extracción de la lógica de guardado en un nuevo método auxiliar estático. Anteriormente, la duplicidad entre las operaciones de creación y actualización generaba una superficie de error mayor. Al centralizar la inicialización de valores predeterminados y la validación del dominio en un único punto de control, hemos logrado:

  • Consistencia: Todos los modelos siguen el mismo flujo de preparación.
  • Mantenibilidad: El código es más limpio y fácil de auditar.
  • Tipado estricto: La implementación de sugerencias de tipo (type hints) y documentación detallada (PHPDoc) asegura que los parámetros cumplan con las expectativas del sistema, alineándose con las directrices de codificación del proyecto.

Rendimiento y Asincronía

Además de la refactorización interna, hemos optimizado cómo se procesan las tareas pesadas. La exportación de datos en formato CSV se ha migrado a un modelo basado en colas, lo que previene tiempos de espera excesivos en la interfaz de usuario.

Para acompañar este cambio, hemos ajustado la configuración de la cola en Redis, aumentando el tiempo de reintento (retry_after) de 90 a 930 segundos. Este ajuste es crucial para permitir que los procesos de mayor carga se completen satisfactoriamente sin ser interrumpidos prematuramente por el gestor de colas.

Mejora en la Carga de Datos

Finalmente, hemos mejorado la eficiencia de las consultas en la interfaz mediante el uso de carga ansiosa (eager loading) para las relaciones entre productos y marcas, eliminando eficazmente el problema de las consultas N+1 en las vistas principales. Estas actualizaciones aseguran que la plataforma mantenga una experiencia fluida a medida que el volumen de datos crece.

Optimización del ciclo de vida de los recursos en Reimpact/platform
Gerardo Ruiz

Gerardo Ruiz

Author

Share: