blob: dbacf8175fe00e78cc3db844a006c6a9f34ab04a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
module MailerHelper
def background_mailer(mails)
Thread.new do
begin
mails.each do |mail|
begin
mail.deliver_now
rescue => e
Rails.logger.error "---"
Rails.logger.error "WARNING: '#{mail.try(:subject)}' failed for recipient #{mail.try(:to)}"
Rails.logger.error e.message
Rails.logger.error "---"
end
end
rescue => e
Rails.logger.error "---"
Rails.logger.error "WARNING: Problem while processing mails:"
Rails.logger.error e.message
Rails.logger.error "---"
ensure
# threads open their own DB connection
ActiveRecord::Base.connection.close
Rails.logger.flush
end
end
end
end
|