用于在rails上发送电子邮件的延迟作业

时间:2011-12-14 06:38:03

标签: ruby-on-rails ruby ruby-on-rails-3

我正在构建电子邮件,我正在解析包含电子邮件ID的.csv文件。这是代码

File.open("#{Rails.root.to_s}/public/files/#{params["file"].original_filename}", "wb"){|file| file.write(params["file"].read) }

arr_of_arrs = CSV.read("#{Rails.root.to_s}/public/files/#{params["file"].original_filename}") 
 puts arr_of_arrs
    arr_of_arrs.each do |i|

这是在我的控制器中调用的邮件发送过程

Class.method(I [0])。提供)

我打电话给ActionMailer发送.csv文件中的电子邮件。我正在使用AWS SES发送邮件。

我的问题是,当它无法向特定地址发送电子邮件时,整个电子邮件发送停止,并且它不会向该地址的其余部分发送电子邮件。但即使它失败了它应该能够将电子邮件发送到其余的地址,我怎么能处理这个问题,因为我是铁轨上的红宝石的新手。

1 个答案:

答案 0 :(得分:2)

这似乎与delayed_job没有任何关系。

要不停止剩余的电子邮件,请捕获打破循环的异常:

arr_of_arrs.each do |i|
  begin
    Class.method(i[0]).deliver
  rescue => e
    # perhaps you'd like to log e's detail here
  end
end