Tengo un foro en Discourse, pero con un límite de velocidad de envío lento (20/segundo).
¿Puedo configurar el límite de velocidad de envío en Discourse?
Hago esta pregunta porque descubrí que tengo casi 500.000 registros diarios en la tabla unsubscribe_keys, pero solo 9.000 en mail_log y 1.000 en skipped_mail_log; nuestro foro también tiene casi 500.000 miembros.
No estoy seguro de si esto se debe a enviar correos electrónicos demasiado rápido y causar algún problema extraño, así que estoy intentando limitar la velocidad de envío, pero sin éxito.
Necesitas obtener un servidor de correo más rápido y/o cambiar la configuración para que se envíen los correos de Let.
Puedes cambiar la frecuencia con la que se envían los correos electrónicos de resumen y modificar la configuración del límite máximo de correos por día.
No existe una configuración de límite de velocidad.
No estoy seguro de si es necesario ajustar la tasa de envío…
porque incluso si podemos aumentarla probablemente a 60 por segundo, todavía es posible que el servidor envíe demasiado rápido y sea bloqueado.
¿Por qué se está enviando correo a tantos miembros de Discourse? ¿Para qué exactamente se les está enviando? Esa es la pregunta más relevante.
En una instalación típica de Discourse, el único correo electrónico de “todos los usuarios” es el resumen, e incluso eso está dirigido únicamente a usuarios que no han estado en el sitio web en una semana o más, pero tampoco han estado ausentes por más de un año.
En general, solo recibes correos electrónicos cuando alguien te habla directamente, e incluso entonces, solo si no has interactuado con el sitio web desde ningún navegador web en los últimos 10 minutos.
Tuvo lugar una actividad anteriormente (hace varios meses). Esa actividad atrajo a unos 90 mil miembros registrados. Y ahora, es posible que se ausenten durante unas semanas. Por ello, el sistema les envió los correos de resumen.
¿Encontraste alguna solución? Estoy a punto de cambiar a Amazon SES y acabo de darme cuenta de que nuestro límite inicial es de 14 correos por segundo. No estoy seguro de la velocidad a la que Discourse enviará los correos a SES. El sitio envía muchos correos.
¿Alguien sabe cuál es la tasa máxima a la que Discourse envía correos? ¿Intentará enviar más de 14 por segundo?
Si envía demasiado rápido, me pregunto si podría ser una buena idea escribir un script que distribuya uniformemente los tiempos de envío de los resúmenes para todos los usuarios a lo largo de la semana, en lugar de enviar la mayoría de ellos en un solo día (el aniversario de nuestra importación).
Edición: Me di cuenta de que podría averiguar si esto es un problema revisando los registros de Mandrill. A menos que esté viendo alguna limitación adicional por parte de Mandrill, creo que tenemos un máximo de aproximadamente 8 correos por segundo, así que debería estar bien.
Para los resúmenes, puedes limitar esto a 14 por segundo estableciendo esta variable global de Discourse en 420, de la siguiente manera en tu archivo de construcción del contenedor:
Esto no es “exactamente” lo que buscas, pero está muy cerca.
Dado que 14 por segundo (según tu publicación) multiplicado por 30 segundos es igual a 420, esta configuración global limitará los resúmenes a aproximadamente 420 cada 30 minutos, tal como indica el código:
Ver también:
Naturalmente, si tu canal SMTP está enviando otros correos electrónicos, deberás ajustar este valor a la baja; o puedes configurar un canal diferente y separado para los correos de resumen (como hacemos nosotros).
Nota: Esta configuración global está establecida en 10,000 por 30 minutos de forma predeterminada; lo cual es una gran cantidad de resúmenes por hora, si me preguntas a mí ;). Por eso, lo establecimos mucho más bajo para tener una factura de SendGrid “razonable” cada mes.
30 resúmenes cada 30 minutos = 1440 al día, o alrededor de 43,200 al mes (porque estábamos enviando muchos resúmenes antes de hacer este cambio hace unos días). El próximo mes, aumentaré esto a alrededor de 60 resúmenes cada 30 minutos, o aproximadamente 86,400 resúmenes al mes, más o menos.