说我从一个例外中解救,我这样做:
begin
raise StandardError
rescue StandardError => ex
ExceptionNotifier.notify_exception(ex)
end
end
如何从队列中发送ExceptionNotifier电子邮件?那么,它与应用程序的进程是异步的吗?
在文档中,我可以看到如果错误发生在工作者中,如何发送ExceptionNotifier,而不是如何将发送到队列的队列。
答案 0 :(得分:0)
Rails 的队列方面由第三方半持久数据存储处理。我们使用Redis
& Resque
-
以下是good tutorial:
<强>初始化程序强>
#app/config/initializers/redis.rb
require 'resque/server' #-> allows processing of jobs
require 'resque_scheduler' #-> allows for scheduling
uri = URI.parse(ENV["REDISCLOUD_URL"] ||= "http://localhost:6379")
Resque.redis = Redis.new(:host => uri.host, :port => uri.port, :password => uri.password)
-
<强> Resque 强>
这样您就可以使用redis
队列将数据发送到Resque
来处理它:
def your_action
Resque.enqueue(SendEmail, [[data ref]])
end
-
<强>队列强>
然后,您可以使用resque
来浏览Redis
队列&amp;发送电子邮件:
$ rake resque:work QUEUE='*'
我知道,这是一个模糊的描述;但希望它能让您了解如何使用第三方基于队列的系统来处理为您发送电子邮件