我試圖發送電子郵件使用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就好了。
我會很感激任何形式的幫助,提前致謝!