JavaScript

Re-planificación de posts diferidos con espaciamiento escalonado en devlog-ist/landing

En el proyecto devlog-ist/landing, que [describe el propósito del proyecto aquí, si está disponible en el contexto], se ha implementado una mejora en la gestión de posts diferidos para evitar la acumulación de tareas pendientes. Esta actualización aborda el problema de la re-planificación de posts que se han diferido debido a la limitación del número de posts por inquilino.

El Problema

Cuando la limitación por inquilino retrasa la publicación de ciertos posts, estos se reprogramaban para ejecutarse en el siguiente ciclo del comando, lo que provocaba que se acumularan y volvieran a retrasarse indefinidamente.

La Solución

La solución implementada consiste en recalcular el atributo scheduled_at de los posts diferidos, asignándoles un nuevo tiempo de programación futuro con un espaciado uniforme. Este espaciado se calcula dividiendo 60 minutos entre el límite de posts permitidos, asegurando una distribución equitativa de las tareas en el tiempo.

Para ilustrar este proceso, consideremos el siguiente ejemplo:

Supongamos que el límite de posts por inquilino es de 10 por hora. Esto significa que el espaciamiento entre cada post diferido sería de 6 minutos (60 minutos / 10 posts). Si tenemos 3 posts diferidos, se reprogramarían para publicarse en los próximos 6, 12 y 18 minutos, respectivamente.

El Impacto

Esta mejora evita la acumulación de posts diferidos y asegura que todos se publiquen en un tiempo razonable, mejorando la eficiencia del sistema y la experiencia del usuario.

Esta solución implementa una lógica para asegurar una correcta re-planificación de tareas.

Re-planificación de posts diferidos con espaciamiento escalonado en devlog-ist/landing
Gerardo Ruiz

Gerardo Ruiz

Author

Share: