我在使用 ActionMailer 实施延迟作业时遇到问题:延迟作业实施之前:
class NotificationsMailer < ActionMailer::Base
default :from => "noreply@mycompany.com"
default :to => "info@mycompany.com"
def new_message(message)
@message = message
mail(:subject => "[Company Notification] #{message.subject}")
end
end
并使用这条线调用它(它工作得很好):
NotificationsMailer.new_message(@message).deliver
在延迟作业实施之后,我所做的只是将交付线更改为:
NotificationsMailer.delay.new_message(@message)
另外,我使用
rake jobs:work
如果作业已关闭,我可以看到数据库中的对象,并且我可以看到它们在我启动工作人员后被弹出,但没有任何反应(没有发送电子邮件)。
更新 - 其他延迟任务(与邮件无关)工作正常。
任何人都可以帮助新手吗?
提前致谢!!