Sha256: ef85018711e8fb8003720eb7139c2d78a3a54bc3eb9088bf698e0b614e35a8e3
Contents?: true
Size: 1.89 KB
Versions: 17
Compression:
Stored size: 1.89 KB
Contents
require "active_support" require "active_support/core_ext" module FluentdUI class Command < Thor ROOT = File.expand_path('../../../', __FILE__) desc "start", "start fluentd-ui server" option :port, type: :numeric, default: 9292 option :pidfile, type: :string, default: File.expand_path('tmp/fluentd-ui.pid', ROOT) option :daemonize, type: :boolean, default: false option :host, type: :string, default: '0.0.0.0' def start trap(:INT) { puts "\nStopping..." } # NOTE: on Debian based distributions, td-agent uses start-stop-daemon with --exec option for stopping process # then fluentd-ui will be killed by them because given --exec option matches. # FLUENTD_UI_EXEC_COMMAND is used for workaround it. cmd = ENV['FLUENTD_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 desc "stop", "stop fluentd-ui server" option :pidfile, type: :string, default: File.expand_path('tmp/fluentd-ui.pid', ROOT) def stop Process.kill(:TERM, pid) if pid rescue Errno::ESRCH ensure puts "stopped" end desc "status", "status of fluentd-ui server" option :pidfile, type: :string, default: File.expand_path('tmp/fluentd-ui.pid', ROOT) def status if pid && Process.kill(0, pid) puts "fluentd-ui is running" else puts "fluentd-ui is stopped" end rescue Errno::ESRCH puts "fluentd-ui is stopped" end desc "setup", "setup fluentd-ui server" long_desc <<-DESC install dependency gems DESC def setup trap(:INT) { puts "\nStopping..." } system(*%W(bundle install)) end private def pid File.read(options[:pidfile]).to_i rescue nil end end end
Version data entries
17 entries across 17 versions & 1 rubygems