Ruby on rails 如何从队列发送ExceptionNotifier?
假设我从异常中拯救,我会:Ruby on rails 如何从队列发送ExceptionNotifier?,ruby-on-rails,exception,Ruby On Rails,Exception,假设我从异常中拯救,我会: begin raise StandardError rescue StandardError => ex ExceptionNotifier.notify_exception(ex) end end 如何使ExceptionNotifier电子邮件从队列中发送?那么,它与应用程序的进程是异步的 在文档中,我可以看到如果错误发生在worker中,如何发送ExceptionNotifier,但不能看到如何将发送的消息排
begin
raise StandardError
rescue StandardError => ex
ExceptionNotifier.notify_exception(ex)
end
end
如何使ExceptionNotifier电子邮件从队列中发送?那么,它与应用程序的进程是异步的
在文档中,我可以看到如果错误发生在worker中,如何发送ExceptionNotifier,但不能看到如何将发送的消息排入队列。Rails的队列方面必须由第三方半持久数据存储处理。我们使用,
--
以下是关于这一点的一个例子:
初始值设定项
#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
这将允许您使用Resque
队列将数据发送到redis
,以进行处理:
def your_action
Resque.enqueue(SendEmail, [[data ref]])
end
-
队列
然后,您可以使用resque
运行Redis
队列并发送电子邮件:
$ rake resque:work QUEUE='*'
我知道这是一个相当模糊的描述;但希望它能让您了解如何使用基于第三方队列的系统来处理为您发送电子邮件的问题是的,但我该如何将通知程序特别地排在其中一个队列中?我用的是Sidekiq。