2
我已經看到關於此問題的其他問題,但我查了一下,而且我沒有撥打兩次電話。用delayed_job發送電子郵件兩次
這是我的郵件
class Suggestion < ActionMailer::Base
default from: "[email protected]"
def send_suggest(subject, body, sender, ref)
@sender = sender
@body = body
@ref =ref
mail(:to => "[email protected]", :subject => "#{subject} from #{sender}")
end
end
這會從建議控制器
def create
if (!current_user.nil?)
sender = current_user.email
end
subject = params[:subject]
body = params[:description]
Suggestion.delay.send_suggest(subject, body, sender, request.referer)
respond_to do |format|
format.js { render :nothing => true }
end
end
發送,你可以看到,delay
被調用一次。我可以看到工頭處理電子郵件。
進一步調查這個..我改變delay
到delay(queue: "Suggestions", priority: 20, run_at: 5.minutes.from_now)
,並在5分鐘後,我會收到2電子郵件。所以發送電子郵件的時間推遲。但發送兩次 電子郵件發送兩次。任何想法爲什麼?