У меня есть какой-то работник, который берет данные из очереди (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
Я хочу запустить Запись в асинхронном режиме, чтобы повысить производительность, какие-нибудь рекомендации здесь?