O limite de número de e-mails de resumo que podem ser enviados em até 1 hora é ajustável?
(perdão pelo meu inglês ruim)
Não tenho certeza se entendi a que você está se referindo, mas veja Configuring Activity Summary emails para mais detalhes sobre os e-mails de resumo e como eles funcionam.
Provavelmente, seu provedor de e-mail permite apenas x e-mails por hora, e ele quer garantir que o Discourse envie menos que isso.
Aqui está uma resposta a uma pergunta semelhante: How to set Email sending speed limit? - #2 by pfaffman
Sim, @Jonathan5, eu queria perguntar isso. Obrigado por compartilhar. Vou ler o assunto.
Sim, isso pode ser facilmente configurado atualmente para e-mails de resumo usando uma configuração global do Discourse. Por exemplo, para definir o limite dos seus resumos para 40 por hora, você pode configurar isso no seu arquivo de build do container:
DISCOURSE_MAX_DIGESTS_ENQUEUED_PER_30_MINS_PER_SITE: 20
Essa configuração global do Discourse para resumos tem como padrão 10.000 a cada 30 minutos e, se você tiver um número enorme de usuários, isso pode enviar muitos resumos.
No nosso site, usamos o SendGrid (um plano pago) para enviar cerca de 100.000 resumos por mês, mais ou menos, então configuramos isso para:
100.000 dividido por 30 dias por mês, dividido por 24 horas por dia, dividido por 2 por hora, ou seja, aproximadamente: 60 resumos a cada 30 minutos, e isso tem funcionado sem problemas.
Veja também:
Nota: Isso requer uma reconstrução do container / bootstrap, então considere isso antes de fazer a alteração.
@neounix muito obrigado. Estava tendo um problema com e-mail porque tenho muitos usuários. Comprei meu próprio servidor de e-mail. Há um limite de 800 e-mails por hora. Ainda assim, eu continuava tendo problemas.
De nada, @ozkn!!
Basta definir essa configuração global do Discourse para menos de 400 a cada 30 minutos e você estará pronto.
Nós executamos resumos em um “canal SMTP independente” com base em um plugin que escrevi com algumas correções (monkey-patch); mas como você está executando a configuração padrão de “único canal SMTP”, pode ser necessário baixar ainda mais, naturalmente.
Não arrisquei, configurei para 75. Assim, enviamos 108.000 e-mails por mês.
Resumos de e-mails por mês…
Essa configuração global aplica-se apenas aos resumos.
![]()
Olá @ozkn
A propósito, só para avisar.
Fiz um monkey patch no Job EnqueueDigestEmails na nossa instalação principal do Discourse e configurei o intervalo do Job de resumo para a cada 5 minutos, em vez dos 30 minutos fixos padrão do Discourse.
Isso significou que, no nosso caso, pudemos definir a variável global de limitação de resumo para 10 e enviar 10 resumos a cada 5 minutos, em vez de 60 a cada 30 minutos. Isso me deu um número muito pequeno de “vantagens”, na minha opinião, ao fazer dessa maneira:
- há menos carga ao enviar 10 em vez de 60 de uma vez (ou 50 em vez de 300, por exemplo).
- o arquivo de log de e-mails enviados pelo administrador é mais fácil de ler de relance.
- quando reconstruímos o container, o job sempre é executado “na inicialização”, então esse número menor mitigou a execução inicial do job de resumo para um valor muito menor (já que não consegui descobrir como configurar o Discourse para pular a execução inicial do job após a reconstrução do container).
Essas são vantagens muito pequenas, então não recomendo que a maioria das pessoas faça monkey patch no job de resumo por essa pequena vantagem subjetiva; mas prefiro um intervalo de job de resumo de 5 minutos em vez de 30 minutos, e após testar por alguns dias, o mp funciona muito bem, então vamos manter o intervalo de 5 minutos.
Só para avisar, como uma “coisa pequena” a considerar ![]()
@neounix Obrigado pela sua sugestão. Onde exatamente posso fazer essa configuração?
Muito obrigado, @neounix
De nada, @ozkn
Se precisar de mais ajuda com esse monkey patch, já que alterar o intervalo de enfileiramento do digest mailer de 30 para 5 minutos não é suportado pelo Discourse, entre em contato comigo neste tópico:
Ainda não transformei esse patch em um “plugin polido” com um arquivo README e configurações do site, mas no futuro, posso tornar o intervalo uma configuração do site do plugin, para que não fique fixo em 5 minutos.