【发布时间】:2012-08-01 01:02:07
【问题描述】:
我正在尝试使用 Resque 和 Resque_mailer gem 发送电子邮件,但发送电子邮件作业在排队后失败。我已经用谷歌搜索、stackoverflowed 并测试了许多不同的代码实现,但到目前为止没有任何效果。
我有以下实现:
版本: 导轨 (3.2.6) 响应式(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 => "noreply@example.com")
end
end
这些作业正在排队(我可以在邮件队列的 Web 界面中看到它们),但都失败了。这是失败的错误消息:
Exception: NoMethodError
Error: undefined method `perform' for AdminMailer:Class
这很奇怪,因为在我的本地开发机器中,作业正在顺利完成。我有什么东西不能让它在engineyard的生产中工作吗?
我已经运行了其他不包括发送电子邮件或使用 resque_email 的 resque 作业。
非常感谢任何形式的帮助,在此先感谢!
【问题讨论】:
标签: ruby-on-rails resque