RabbitMQ с сидекиком - PullRequest
       51

RabbitMQ с сидекиком

0 голосов
/ 07 сентября 2018

У меня есть два приложения rails, App1 и App2 (добавлен гем cloudAMQP) в heroku , App1 выдает какое-то сообщение при нажатии на кнопку

App1

class Publisher
   def publish
    # Start a communication session with RabbitMQ
    connection = Bunny.new(:host => "chimpanzee.rmq.cloudamqp.com", :vhost => "test", :user => "test", :password => "password")
    connection.start

    # open a channel
    channel = connection.create_channel

    # declare a queue
    queue  = channel.queue("test1")

    # publish a message to the default exchange which then gets routed to this queue
    queue.publish("Hello, everybody!")

   end
end

так что в App2 я должен использовать все сообщения без нажатия кнопки и поместить их в sidekiq для обработки данных, но я застрял на том, как я могу автоматически читать из этой очереди, я знаю код, как читать значения из очереди люди говорят, что кроссовки драгоценные, но меня немного смущают сидеки и кроссовки, есть идеи, как нам это сделать в героку?

1 Ответ

0 голосов
/ 08 сентября 2018

Чтобы читать сообщения, которые вы публикуете из App1 в App2, в App2 вам понадобятся кроссовки (https://github.com/jondot/sneakers)

Ваш читатель будет делать что-то вроде:

class Reader
  include Sneakers::Worker
  from_queue 'test1'

  def work(message)
    # your code
    ack!
  end
end

и вам нужно настроить свою среду, вы можете взглянуть на https://github.com/jondot/sneakers/wiki/Configuration

...