class DistribotUI::Command

Constants

ROOT

Public Instance Methods

setup() click to toggle source
# File lib/distribot-ui/command.rb, line 51
def setup
  trap(:INT) { puts "\nStopping..." }
  system(*%W(bundle install))
end
start() click to toggle source
# File lib/distribot-ui/command.rb, line 14
def start
  trap(:INT) { puts "\nStopping..." }
  # NOTE: on Debian based distributions, td-agent uses start-stop-daemon with --exec option for stopping process
  #       then distribot-ui will be killed by them because given --exec option matches.
  #       DISTRIBOT_UI_EXEC_COMMAND is used for workaround it.
  cmd = ENV['DISTRIBOT_UI_EXEC_COMMAND'].presence || "rackup"
  system(* %w(bundle exec) + cmd.split(" ") + %W(#{options[:daemonize] ? "-D" : ""} --pid #{options[:pidfile]} -p #{options[:port]} --host #{options[:host]} -E production #{ROOT}/config.ru))
end
status() click to toggle source
# File lib/distribot-ui/command.rb, line 36
def status
  if pid && Process.kill(0, pid)
    puts "distribot-ui is running"
  else
    puts "distribot-ui is stopped"
  end
rescue Errno::ESRCH
  puts "distribot-ui is stopped"
end
stop() click to toggle source
# File lib/distribot-ui/command.rb, line 26
def stop
  Process.kill(:TERM, pid) if pid
rescue Errno::ESRCH
ensure
  puts "stopped"
end

Private Instance Methods

pid() click to toggle source
# File lib/distribot-ui/command.rb, line 58
def pid
  File.read(options[:pidfile]).to_i rescue nil
end