Запуск Activerecord асинхронно - PullRequest
3 голосов
/ 01 апреля 2012

У меня есть какой-то работник, который берет данные из очереди (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 

Я хочу запустить Запись в асинхронном режиме, чтобы повысить производительность, какие-нибудь рекомендации здесь?

1 Ответ

0 голосов
/ 01 апреля 2012

Вы можете взглянуть на delayed_job:

https://github.com/collectiveidea/delayed_job

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...