我不断向Honeybadger报告错误,因为各种邮件程序无法找到像ActionView::MissingTemplate: Missing template user_mailer/send_invitation with "mailer". Searched in: * "user_mailer"
这样的模板。我找到了一种可以可靠地重现它的方法,即重新启动Unicorn worker或ssh进入服务器并使用Rails控制台手动触发电子邮件。为了使事情更有趣,如果我使用deliver_later
,则只会抛出此错误,但如果我使用deliver_now
则不会。显然我想要异步发送电子邮件,所以使用deliver_now
并不是一个真正的选择,除非我自己创作一个手动触发电子邮件的工作,但这似乎并不是最佳的。
Sidekiq.yml
production:
:concurrency: 10
:queues:
- default
- mailers
- elasticsearch
- searchkick
它仍会在第二次尝试时发送电子邮件,所以我不确定这是否与Sidekiq的某些加载有关。非常感谢任何帮助。
使用Rails 5.0.0,Sidekiq 4.1.4和ActiveJob 5.0.0。
答案 0 :(得分:0)
它告诉没有必需的文件,只需创建文件:
app/views/user_mailer/send_invitation.html.erb
答案 1 :(得分:0)
事实证明,当我将Sidekiq从4.0.4
升级到4.1.4
时,它并没有杀死我的旧流程,所以它一直悬挂在monit上,并且仍在从redis中取出工作。杀死了旧的流程,现在一切都很好。感谢每一位反馈。