我试图发送电子邮件使用Resque和Resque_mailer宝石,但发送电子邮件作业排队后失败。我使用了Google,stackoverflow,并且测试了许多不同的代码实现,到目前为止还没有任何工作。Resque_mailer undefined方法'执行'为邮件类
我有以下实现:
版本: 轨(3.2.6) resque(1.21.0) resque_mailer(2.1.0)
控制器代码:
def send_newsletter
User.find_in_batches(:batch_size => 1000) do |users|
users.each { |user| AdminMailer.newsletter(user.email).deliver }
end
end
邮寄编号:
class AdminMailer < ActionMailer::Base
include Resque::Mailer
def newsletter(user_email)
mail(:to => user_email, :subject => "New Feature", :from => "[email protected]")
end
end
作业正在排队(我可以在邮件队列中的Web界面中看到它们),但失败。这是失败的错误信息:
Exception: NoMethodError
Error: undefined method `perform' for AdminMailer:Class
这很奇怪,因为在我的本地开发机器中,作业正在完成而没有错误。有没有什么我想让它在引擎工厂生产的工作?
我已经运行其他resque作业,不包括发送电子邮件或使用resque_email就好了。
我会很感激任何形式的帮助,提前致谢!