class Nsqadmin

Attributes

host[R]
http_port[R]

Public Class Methods

new(opts = {}, verbose = false) click to toggle source
Calls superclass method ProcessWrapper::new
# File lib/nsq-cluster/nsqadmin.rb, line 9
def initialize(opts = {}, verbose = false)
  super

  @host = '127.0.0.1'
  @http_port = opts.delete(:http_port) || 4171
  @lookupd = opts.delete(:nsqlookupd) || []

  @extra_args = opts.map do |key, value|
    "--#{key.to_s.gsub('_', '-')}=#{value}"
  end
end

Public Instance Methods

args() click to toggle source
# File lib/nsq-cluster/nsqadmin.rb, line 35
def args
  base_args = [
    %Q(--http-address=#{@host}:#{@http_port})
  ]

  lookupd_args = @lookupd.map do |ld|
    %Q(--lookupd-http-address=#{ld.host}:#{ld.http_port})
  end

  base_args + @extra_args + lookupd_args
end
command() click to toggle source
# File lib/nsq-cluster/nsqadmin.rb, line 30
def command
  'nsqadmin'
end
stop(opts = {}) click to toggle source
Calls superclass method ProcessWrapper#stop
# File lib/nsq-cluster/nsqadmin.rb, line 22
def stop(opts = {})
  Sys::ProcTable.ps.select{|pe| pe.ppid == @pid}.each do |child_pid|
    Process.kill('TERM', child_pid)
  end
  super
end