2

RabbitMQ と AMQP のdelayed_job 実装を置き換えようとしています。現在、ActionMailer モデルを使用してメールを送信しています。さまざまなタイプのイベントを送信するさまざまな方法があります。RabbitMQ と AMQP に置き換える予定です。いくつかの AMQP の例を調べた後、単純なモジュールまたはヘルパーを作成しましたが、それが正しいかどうかわからず、RabbitMQ を actionmailer にラップする方法を理解するのに苦労しています。ここに私が書いたモジュールがあります

module rabbitesh
  require 'amqp'

  def call_rabbits(payload,queue_name)
    AMQP.start(:host => CONFIG['RABBIT_HOST']) do |connection|
      channel = AMQP::Channel.new(connection)
      queue = channel.queue(queue_name)
      channel.default_exchange.publish(payload, :routing_key => queue.name)
      EM.add_timer(0.01) do
        connection.close do
          EM.stop { exit }
        end
      end
    end
  end

end

これを達成するためのヒントを提供してください。

4

0 に答える 0