Ruby on rails 延迟作业不在rails 4中工作
我添加了以下代码。但无法发送大量邮件 GemfileRuby on rails 延迟作业不在rails 4中工作,ruby-on-rails,Ruby On Rails,我添加了以下代码。但无法发送大量邮件 Gemfile gem 'delayed_job_active_record' 控制器 def send_news_letter @emails = Array.new if params[:newsletter].present? @newsletter = Newsletter.find(params[:newsletter].keys).first end if params[:st
gem 'delayed_job_active_record'
控制器
def send_news_letter
@emails = Array.new
if params[:newsletter].present?
@newsletter = Newsletter.find(params[:newsletter].keys).first
end
if params[:students].present?
@emails = @emails + Student.all
#raise @emails.inspect
end
if params[:teachers].present?
@emails = @emails +Teacher.all
end
if params[:parents].present?
@emails = @emails + Parent.all
end
UserMailer.delay.send_multiple_email(@emails,@newsletter)
redirect_to newsletters_url, :notice => "Delivering Newsletter"
end
梅勒
class UserMailer < ActionMailer::Base
default from: "from@example.com"
def send_multiple_email(emails,newsletter)
@emails = emails
#raise @emails.inspect
@newsletter = newsletter
mail(:to => @emails.map(&:email), subject: "Deliver")
end
end
class UserMailer@emails.map(&:email),主题:“交付”)
终止
终止
实际上,它重定向了时事通讯的索引页。但是它不会发送邮件。您可以做些什么来检查正在发生的事情:
bundle exec-rake作业
和rails作业
。我必须停止服务器并执行rake任务,然后再次启动服务器rails c
)以确定作业是否已保存到数据库。这样你就知道它已经准备好被执行了rails生成延迟作业:活动记录
rakedb:migrate