Mejoras en la Publicación de LinkedIn y la Gestión de Tareas Programadas en devlog-ist/landing
Introducción
Este artículo aborda mejoras recientes en el proyecto devlog-ist/landing, que facilita la creación de contenido atractivo. Nos centraremos en dos aspectos clave: la publicación en LinkedIn y la gestión de tareas programadas, asegurando una experiencia más eficiente y personalizable.
Eliminación de la Marca para Usuarios Gratuitos en LinkedIn
Anteriormente, los usuarios gratuitos veían una marca automática ("Escrito con X") en sus publicaciones de LinkedIn. Para mejorar la experiencia y ofrecer una imagen más profesional, esta marca se ha eliminado. Esto permite a todos los usuarios compartir su contenido sin distracciones, manteniendo la coherencia con su marca personal.
Optimización de Reintentos de Horizon
Horizon es utilizado para gestionar tareas en segundo plano. Se ha corregido un problema donde el número de reintentos no se correspondía con la configuración a nivel de trabajo ($tries). Esta mejora asegura que las tareas se reintenten el número correcto de veces antes de marcarse como fallidas, previniendo MaxAttemptsExceededException.
Limitación del Número de Publicaciones Programadas por Inquilino
Para evitar sobrecargas y garantizar la equidad en el uso de recursos, se ha implementado una limitación en el número de publicaciones programadas por inquilino. Ahora, cada inquilino tiene un límite configurable (max_posts_per_hour) o un valor predeterminado de 3 publicaciones por hora. Esta característica asegura una distribución justa de los recursos y mantiene la estabilidad del sistema.
Pruebas Unitarias Actualizadas
Se han actualizado las pruebas unitarias para reflejar la eliminación de la marca y la nueva funcionalidad de limitación. Estas pruebas garantizan que las nuevas características funcionan correctamente y que no se introducen regresiones.
Ejemplo de Configuración para la Limitación de Publicaciones
Supongamos que tenemos una tabla de configuración de la aplicación (app_config) donde almacenamos las preferencias de cada inquilino. Podemos configurar el límite de publicaciones por hora de la siguiente manera:
// Obtener el ID del inquilino actual
$tenantId = Auth::user()->tenant_id;
// Obtener la configuración del límite de publicaciones desde la base de datos
$maxPostsPerHour = DB::table('app_config')
->where('tenant_id', $tenantId)
->value('max_posts_per_hour') ?? 3; // Valor predeterminado: 3
// Usar $maxPostsPerHour para limitar las publicaciones
En este ejemplo, si el inquilino no tiene un límite configurado, se utiliza el valor predeterminado de 3 publicaciones por hora.
Conclusión
Las mejoras implementadas en devlog-ist/landing se centran en mejorar la experiencia del usuario y garantizar la estabilidad del sistema. La eliminación de la marca para usuarios gratuitos en LinkedIn proporciona una imagen más profesional, la optimización de los reintentos de Horizon previene errores inesperados, y la limitación del número de publicaciones programadas por inquilino asegura una distribución justa de los recursos. Estas mejoras, junto con las pruebas unitarias actualizadas, contribuyen a un producto más robusto y confiable.