Я новичок в Ruby, использую Bunny для приема сообщений от RabbitMQ.
Так что мой класс в настоящее время выглядит примерно так:
class Consumer
include Validator
def initialize
#Start a RabbitMQ session
@rdSession = Session.new
@queueMain = rdSession.joinQueue('QueueMain')
@queueLittle = rdSession.joinQueue('QueueLittle')
...
@queueTen = rdSession.joinQueue('QueueTen')
goWork
end
def goWork
@queueMain.subscribe(:manual_ack => true) do |delivery_info, properties, payload|
goDoSomethingElse(payload)
end
....
@queueTen.subscribe(:manual_ack => true) do |delivery_info, properties, payload|
goDoAnotherPiece(payload)
end
end
Мой вопрос: файл становится довольнодолго, поэтому я хочу как-то уменьшить его.Итак, я подумал об одном: те, кто перемещает длинный список соединяющихся очередей в initialize
в другой файл, поскольку они являются постоянными.
Однако каков правильный способ сделать это, если я создам модуль,скопируйте все эти joinQueue
строк, а затем укажите в goWork
такие константы, как: QUEUEMAIN
?
Будут признательны за любые идеи / предложения.
Попытка понять хороший дизайнза это?
Спасибо.