12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
# File 'lib/rabbit_jobs/error_mailer.rb', line 12
def self.report_error(job, error = $!)
return unless enabled?
params ||= []
params_str = job.params == [] ? '' : job.params.map { |p| p.inspect }.join(', ')
subject = "RJ:Worker: #{error.class} on #{job.class}"
text = "\n#{job.class}.perform(#{params_str})\n"
text += "\n#{error.inspect}\n"
text += "\nBacktrace:\n#{error.backtrace.join("\n")}" if error.backtrace
letter = ActionMailer::Base.mail
letter.from = RabbitJobs.config.mail_errors_from
letter.to = RabbitJobs.config.mail_errors_to
letter.subject = subject
letter.body = text
begin
letter.deliver
rescue
RJ.logger.error [$!.message, $!.backtrace].flatten.join("\n")
end
end
|