【发布时间】:2012-04-15 03:07:25
【问题描述】:
我有一些工作人员从队列 (rabbitmq) 中获取数据,在工作人员内部我想使用 activerecord 异步创建记录,我当前的实现类似于:
require "rubygems"
require "amqp"
require 'eventmachine'
require 'em-http'
AMQP.start(:host => $AMQP_URL) do |connection|
@queue ||= AMQP::Channel.new(connection).queue("results")
@queue.subscribe do |body|
EventMachine::HttpRequest.new('http://someurl').post :body => {:message => body }
Record.create!(:name => body)
end
end
我想以异步方式运行 Record 以提高性能,这里有什么建议吗?
【问题讨论】:
-
你能告诉我如何在这段代码中使用它吗?我整天都在尝试使用它,但没有成功
标签: ruby-on-rails ruby ruby-on-rails-3 activerecord asynchronous