Reintentos de email durante el cierre prolongado del servidor de correo

No soy el administrador del sistema de la instancia AWS EC2 que ejecuta nuestra instancia de Discourse, pero soy el administrador de la propia instancia de Discourse. Tuvimos un cierre del servicio de correo electrónico de AWS SES hace 3 semanas por motivos de seguridad. Nuestro personal de la nube lo está arreglando recién ahora. Así que durante 3 semanas, nuestro sitio no pudo enviar correos electrónicos y estoy viendo más de 40000 trabajos fallidos y tantos reintentos. No soy un desarrollador web, así que no entiendo lo que dice la página de Sidekiq, pero me preocupa que los trabajos fallidos se reintenten cuando nuestro servidor de correo electrónico vuelva a estar en línea, inundando a las personas con correos electrónicos obsoletos que no recibieron durante 3 semanas. ¿Será ese el caso? ¿Discourse reenvía correos electrónicos que no se pudieron enviar debido a que un servidor de correo electrónico estaba fuera de línea? Si es así, ¿cómo puedo deshabilitar eso para evitar inundar a las personas con correos electrónicos de nuestro sitio? ¿Podemos ajustar la granularidad? ¿Por ejemplo, solo enviar correos electrónicos que muestren nuevas actividades desde una fecha determinada?

Tu miedo es válido.

No estoy seguro de cuánto tiempo tienes para solucionar esto. Una solución podría ser configurar un servidor de correo que acepte correos electrónicos pero simplemente los descarte.

La forma realmente rápida y (muy) sucia de resolver esto es usar redis-cli y ejecutar el comando flushdb. Eso eliminará todos los trabajos en cola. También cerrará la sesión de todos los usuarios. Luego, reinicia tu Discourse para asegurarte de que todos los trabajos regulares se ejecuten de nuevo.

3 Me gusta

Cerrar la sesión de todos los usuarios ciertamente no es deseable… El servidor de correo electrónico debería arreglarse hoy, pero no estoy seguro de si nuestros administradores de sistemas tendrán la flexibilidad para configurar el servidor de correo electrónico para que deseche todo.

Veo un botón de “matar todo” y “eliminar todo” en la parte inferior de la página de “reintentos” de sidekiq (ver adjunto). ¿Es algo que pueda ayudar?


Purgar todos los trabajos de la cola de un cierto tipo debería funcionar.

(Tendría que volver atrás e intentar averiguar cómo hacer esto…)

2 Me gusta

Creo que estás seguro. Tardaron tres semanas en arreglarlo.

Podrías preguntar si podrían buscar en Google cómo purgar trabajos de sidekiq y eliminar los trabajos de correo electrónico. Creo que esa es tu mejor opción.

Supongo que no tienes acceso para hacerlo tú mismo o contratar a alguien para que te ayude. ¿Puedes conectarte por SSH a la instancia EC2 en la que se está ejecutando? Podrías intentar eliminar los 50.000 desde la interfaz web.

1 me gusta

La página del “sidekick” con las opciones de eliminar/borrar funcionó. No se necesitó un administrador de sistemas EC2, ser administrador del foro fue suficiente para operar desde la página del “sidekick”, pude eliminar todos los correos electrónicos en cola.
Después de que el servidor de correo volvió a estar en línea, no se reenvió ningún correo electrónico “en cola”.

2 Me gusta