Solicitud de función: Hacer que la "Ventana de tiempo de envío" del trabajo de resumen sea configurable

Hola a todos,

Me gustaría solicitar una o dos configuraciones de sitio que nos permitan definir una “ventana de tiempo” y “días de resumen” cuando se encolan los trabajos de resúmenes.

La razón de esta solicitud es que, para la mayoría de los sitios, incluido el nuestro, tenemos un área geográfica dominante de usuarios; por ejemplo, la nuestra es EE. UU., otros podrían ser Corea, Brasil, Alemania, Australia o cualquier región del planeta.

El envío de correos electrónicos de resumen sería más eficiente si pudieran enviarse durante el horario y los días laborables normales (para la base principal de usuarios). Muchos sitios pagan por servicios de correo masivo como MailGun o SendGrid para enviar correos de resumen; por lo tanto, es mucho mejor que esos correos lleguen a la bandeja de entrada de los miembros “alrededor de las 10:00 del lunes” en lugar de llegar a las “3:00 de la mañana del sábado”.

Estos trabajos se encolan, por lo que tener una o dos variables de configuración como “ventana de tiempo para colar resúmenes” y “días permitidos para colar resúmenes” haría que el dinero gastado en el envío de correos de resumen fuera más eficiente.

Busqué en el núcleo en GitHub y no pude encontrar ninguna forma de establecer estos parámetros importantes. ¿Los perdí de vista?

¡Gracias por considerar esta solicitud!

2 Me gusta

Por defecto, Discourse enviará el resumen a la misma hora en que el usuario completa un período de inactividad de 7 días, lo que significa que el correo electrónico se alineará con una ventana en la que el usuario estuvo activo en el sitio. Esto es excelente porque se adaptará automáticamente a cada usuario y zona horaria.

Un problema muy común ocurre durante las importaciones, cuando los administradores olvidan desactivar los resúmenes para los usuarios importados o olvidan importar la hora de última actividad en los datos importados, y todo se configura a medianoche.

3 Me gusta

¡Excelente!

Jaja. ¡Has dado en el clavo con respecto a nuestro problema! Nuestros usuarios importados tenían su última actividad establecida en el momento en que fueron importados a Discourse desde nuestro antiguo sitio vB.

En nuestro caso, los scripts de Discourse que usamos no hacían esto; y no podemos “olvidarnos” de hacer algo de lo que ni siquiera teníamos conocimiento en primer lugar, jaja.

Como dicen, la vista hacia atrás es perfecta.

No creo que la mayoría de los usuarios que migran por primera vez a Discourse desde un foro antiguo puedan “olvidarse” de algo “antes de conocer los detalles de cómo funcionan los resúmenes de Discourse” :slight_smile:

No es un gran problema. Pero, como tú mismo dices:

Por lo tanto, la característica que estoy solicitando ayudaría a mitigar este problema en los foros migrados, esas “almas sin soporte” que hay por ahí en el ciberespacio y que generalmente están “por su cuenta” cuando migran un foro a Discourse :slight_smile:

Dado que, supongo que este “problema común” no será abordado, ¿podrías por favor publicar un enlace al código en el repositorio donde pueda escribir un plugin para parchear este problema para nosotros, las almas perdidas en la migración que “olvidamos hacer algo” antes de “saber nunca que necesitábamos hacerlo”?

¡Gracias!

1 me gusta

O quizás, mejor dicho, en lugar de un parche de mono, escribiré un script en Ruby para simplemente cambiar la hora de la «última actividad» de los usuarios migrados a un horario dentro de la jornada laboral normal (¡solo hay que sumar 10 horas a la medianoche y listo!)

Problema resuelto :slight_smile:

1 me gusta

Gracias por esta información @Falco

Acabo de actualizar a todos estos usuarios heredados para que sus fechas/horas de last_seen_at coincidan con las 10:00 a. m. EST.

Basándome en cómo interpreté tu respuesta, esto pondrá en cola sus correos de resumen alrededor de esa hora por la mañana, a las 10:00 a. m.

¿Correcto?

Actualización:

Hmmm. Parece que no funciona. Después de establecer las fechas y horas de last_seen_at a las 10:00 a. m. EST, Sidekiq está poniendo en cola los resúmenes ahora, justo después de la medianoche EST; y los registros de envío de correos del panel de administración también muestran que los resúmenes se están enviando ahora.

Esta alineación “mágica” de la última actividad con la hora en que se envían los resúmenes no parece estar funcionando como se describe en mi caso.

:confused:

Vale. Estoy depurando y aplicando parches de emergencia a la clase EnqueueDigestEmails en nuestro sitio en vivo.

Informaré cuando tenga algunos resultados concluyentes, después de registrar y ajustar los detalles.

1 me gusta