Não sou o administrador do sistema da instância AWS EC2 que executa nossa instância Discourse, mas sou o administrador da própria instância discourse. Tivemos um desligamento do serviço de e-mail AWS SES há 3 semanas por motivos de segurança. Nossa equipe de nuvem só está corrigindo isso agora. Portanto, por 3 semanas, nosso site não pôde enviar e-mails e estou vendo mais de 40.000 trabalhos com falha e o mesmo número de novas tentativas. Não sou um desenvolvedor web, então não entendo o que a página do Sidekiq está dizendo, mas estou preocupado que os trabalhos com falha sejam retentados quando nosso servidor de e-mail estiver online novamente, inundando as pessoas com e-mails desatualizados que elas não receberam por 3 semanas. Será esse o caso? O Discourse reenvia e-mails que não puderam ser enviados devido a um servidor de e-mail offline? Se sim, como posso desativar isso para evitar inundar as pessoas com e-mails do nosso site? Podemos ajustar a granularidade? Dizer apenas para enviar e-mails mostrando novas atividades desde uma determinada data?
Seu medo é válido.
Não tenho certeza de quanto tempo você tem para corrigir isso? Uma solução poderia ser configurar um servidor de e-mail que aceite e-mails, mas simplesmente os descarte.
A maneira realmente rápida e (muito) improvisada de resolver isso é usar o redis-cli e emitir um comando flushdb. Isso removerá todos os trabalhos enfileirados. Também desconectará todos os usuários. Em seguida, reinicie o Discourse para garantir que todos os trabalhos regulares sejam executados novamente.
Deslogar todos os usuários certamente não é desejável… O servidor de e-mail deve ser corrigido hoje, mas não tenho certeza se nossos administradores de sistema terão flexibilidade para configurar o servidor de e-mail para descartar tudo.
Estou vendo um botão “kill all” e “delete all” na parte inferior da página “retries” do sidekiq (veja anexo). Isso pode ajudar?
Limpar todos os trabalhos da fila de um determinado tipo deve resolver o problema.
(Eu teria que voltar e tentar descobrir como fazer isso…)
Acho que você tem certeza. Eles levaram três semanas para consertar tudo.
Você poderia perguntar se eles poderiam pesquisar no Google como excluir trabalhos do sidekiq e excluir os trabalhos de e-mail. Acho que essa é a sua melhor aposta.
Imagino que você não tenha acesso para fazer isso sozinho ou contratar alguém para ajudar. Você pode se conectar via SSH à instância EC2 em que está rodando? Você poderia tentar excluir todos os 50 mil pela interface web.
A página do sidekick com as opções de kill/delete funcionou. Nenhum administrador de sistemas EC2 foi necessário, ser administrador do fórum foi o suficiente para operar a partir da página do sidekick, eu pude deletar todos os e-mails enfileirados.
Após o servidor de e-mail voltar a ficar online, nenhum e-mail “enfileirado” foi reenviado.



