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']

If all nsqlookupd’s are unreachable, raises Nsq::DiscoveryException



26
27
28
29
30
# File 'lib/nsq/discovery.rb', line 26

def nsqds
  gather_nsqds_from_all_lookupds do |lookupd|
    get_nsqds(lookupd)
  end
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']

If all nsqlookupd’s are unreachable, raises Nsq::DiscoveryException



42
43
44
45
46
# File 'lib/nsq/discovery.rb', line 42

def nsqds_for_topic(topic)
  gather_nsqds_from_all_lookupds do |lookupd|
    get_nsqds(lookupd, topic)
  end
end