Atualizei para a versão 2.6.0.beta5 (7fa6aca9db) esta tarde, e meu painel alerta sobre trabalhos com falha:
Há 3 trabalhos de e-mail que falharam. Verifique seu app.yml e garanta que as configurações do servidor de e-mail estão corretas. Veja os trabalhos com falha no Sidekiq.
Não vejo que nenhum e-mail(*) foi enviado, e tenho trabalhos do Sidekiq no status de repetição:
Tentei testar o e-mail usando a Pré-visualização do Resumo e isso resultou em erro:
Erro do Servidor
ao tentar carregar /admin/email/preview-digest.json
Código de erro: 500 error
Meu app.yml não mudou. Uso o Mailgun, e tudo estava funcionando antes da atualização.
(*) Edição: cerca de 12 resumos foram enviados, mas “Há 265 trabalhos de e-mail que falharam.” Evidentemente, a falha é sensível ao conteúdo do resumo.
Acho que algum valor de dados parece estar nil ou vazio quando não deveria estar — ou talvez não devesse importar. Dois rastreamentos de pilha dos logs, um para a pré-visualização e outro para o job do Sidekiq, creio eu:
/var/www/discourse/lib/pretty_text.rb:440:in `block in strip_secure_media'
nokogiri-1.10.10/lib/nokogiri/xml/node_set.rb:238:in `block in each'
nokogiri-1.10.10/lib/nokogiri/xml/node_set.rb:237:in `upto'
nokogiri-1.10.10/lib/nokogiri/xml/node_set.rb:237:in `each'
/var/www/discourse/lib/pretty_text.rb:434:in `strip_secure_media'
/var/www/discourse/lib/email/styles.rb:347:in `replace_secure_media_urls'
/var/www/discourse/lib/email/styles.rb:281:in `to_html'
/var/www/discourse/lib/email/renderer.rb:31:in `html'
/var/www/discourse/lib/email/sender.rb:70:in `send'
/var/www/discourse/app/jobs/regular/user_email.rb:70:in `send_user_email'
/var/www/discourse/app/jobs/regular/user_email.rb:25:in `execute'
/var/www/discourse/app/jobs/base.rb:232:in `block (2 levels) in perform'
rails_multisite-2.5.0/lib/rails_multisite/connection_management.rb:76:in `with_connection'
/var/www/discourse/app/jobs/base.rb:221:in `block in perform'
/var/www/discourse/app/jobs/base.rb:217:in `each'
/var/www/discourse/app/jobs/base.rb:217:in `perform'
sidekiq-6.1.2/lib/sidekiq/processor.rb:196:in `execute_job'
sidekiq-6.1.2/lib/sidekiq/processor.rb:164:in `block (2 levels) in process'
sidekiq-6.1.2/lib/sidekiq/middleware/chain.rb:138:in `block in invoke'
/var/www/discourse/lib/sidekiq/pausable.rb:138:in `call'
sidekiq-6.1.2/lib/sidekiq/middleware/chain.rb:140:in `block in invoke'
sidekiq-6.1.2/lib/sidekiq/middleware/chain.rb:143:in `invoke'
sidekiq-6.1.2/lib/sidekiq/processor.rb:163:in `block in process'
sidekiq-6.1.2/lib/sidekiq/processor.rb:136:in `block (6 levels) in dispatch'
sidekiq-6.1.2/lib/sidekiq/job_retry.rb:111:in `local'
sidekiq-6.1.2/lib/sidekiq/processor.rb:135:in `block (5 levels) in dispatch'
sidekiq-6.1.2/lib/sidekiq.rb:38:in `block in <module:Sidekiq>'
sidekiq-6.1.2/lib/sidekiq/processor.rb:131:in `block (4 levels) in dispatch'
sidekiq-6.1.2/lib/sidekiq/processor.rb:257:in `stats'
sidekiq-6.1.2/lib/sidekiq/processor.rb:126:in `block (3 levels) in dispatch'
sidekiq-6.1.2/lib/sidekiq/job_logger.rb:13:in `call'
sidekiq-6.1.2/lib/sidekiq/processor.rb:125:in `block (2 levels) in dispatch'
sidekiq-6.1.2/lib/sidekiq/job_retry.rb:78:in `global'
sidekiq-6.1.2/lib/sidekiq/processor.rb:124:in `block in dispatch'
sidekiq-6.1.2/lib/sidekiq/logger.rb:10:in `with'
sidekiq-6.1.2/lib/sidekiq/job_logger.rb:33:in `prepare'
sidekiq-6.1.2/lib/sidekiq/processor.rb:123:in `dispatch'
sidekiq-6.1.2/lib/sidekiq/processor.rb:162:in `process'
sidekiq-6.1.2/lib/sidekiq/processor.rb:78:in `process_one'
sidekiq-6.1.2/lib/sidekiq/processor.rb:68:in `run'
sidekiq-6.1.2/lib/sidekiq/util.rb:15:in `watchdog'
sidekiq-6.1.2/lib/sidekiq/util.rb:24:in `block in safe_thread'
Apenas para registrar: minha atualização falhou ao ser executada no navegador, então fiz uma reconstrução pela linha de comando.
(No caso de isso significar que esta instalação pode ter chegado a um estado diferente em comparação com uma que foi atualizada com sucesso. Tenho outro fórum em um servidor diferente, que foi atualizado com sucesso e que não está falhando ao enviar e-mails ou preparar um Resumo de Pré-visualização.)
Estou me perguntando se isso poderia ser uma solução alternativa: se o problema for o processamento de (algumas) imagens nos e-mails de resumo e se formos capazes de enviar resumos temporariamente sem imagens, podemos definir o comprimento curto do e-mail para um número muito grande, de modo que remover imagens de e-mails curtos remova todas as imagens.
Edição: não, eu tentei e os jobs do Sidekiq continuam se acumulando. Nenhum e-mail foi enviado durante o experimento, apesar de muitos jobs terem sido reexecutados.