Class: Nsq::Discovery

Inherits:
Object
  • Object
show all
Includes:
AttributeLogger
Defined in:
lib/nsq/discovery.rb

Instance Method Summary collapse

Methods included from AttributeLogger

included

Constructor Details

#initialize(lookupds) ⇒ Discovery

lookupd addresses must be formatted like so: ‘<host>:<http-port>’



13
14
15
# File 'lib/nsq/discovery.rb', line 13

def initialize(lookupds)
  @lookupds = lookupds
end

Instance Method Details

#nsqdsObject

Returns an array of nsqds instances

nsqd instances returned are strings in this format: ‘<host>:<tcp-port>’

discovery.nsqds
#=> ['127.0.0.1:4150', '127.0.0.1:4152']


24
25
26
27
28
# File 'lib/nsq/discovery.rb', line 24

def nsqds
  @lookupds.map do |lookupd|
    get_nsqds(lookupd)
  end.flatten.uniq
end

#nsqds_for_topic(topic) ⇒ Object

Returns an array of nsqds instances that have messages for that topic.

nsqd instances returned are strings in this format: ‘<host>:<tcp-port>’

discovery.nsqds_for_topic('a-topic')
#=> ['127.0.0.1:4150', '127.0.0.1:4152']


38
39
40
41
42
# File 'lib/nsq/discovery.rb', line 38

def nsqds_for_topic(topic)
  @lookupds.map do |lookupd|
    get_nsqds(lookupd, topic)
  end.flatten.uniq
end