0
- :threaded_processing => true
0
# Kill the process which PID is stored in +pid_file+.
0
def self.kill(pid_file, timeout=60)
0
raise ArgumentError, 'You must specify a pid_file to stop deamonized server' unless pid_file
0
@@ -55,90 +48,79 @@ module Ebb
0
- def initialize(name, &definitions)
0
- instance_eval(&definitions)
0
+ @parser = OptionParser.new
0
+ :threaded_processing => true
0
- option_parser, options = get_options_from_command_line
0
+ @parser.banner = "Usage: #{self.class} [options] start | stop"
0
+ extra_options if respond_to?(:extra_options)
0
+ # opts.on("-s", "--socket SOCKET", "listen on socket") { |socket| options[:socket] = socket }
0
+ @parser.on("-p", "--port PORT", "(default: #{@options[:port]})") { |p| @options[:port]=p }
0
+ @parser.on("-d", "--daemonize", "Daemonize") { @options[:daemonize] = true }
0
+ @parser.on("-l", "--log-file FILE", "File to redirect output") { |f| @options[:log_file]=f }
0
+ @parser.on("-P", "--pid-file FILE", "File to store PID") { |f| @options[:pid_file]=f }
0
+ # @parser.on("-t", "--timeout SECONDS", "(default: #{@options[:timeout]})") { |s| @options[:timeout]=s }
0
+ @parser.on_tail("-h", "--help", "Show this message") do
0
+ @parser.on_tail('-v', '--version', "Show version") do
0
+ puts "Ebb #{Ebb::VERSION}"
0
STDOUT.print("Ebb is loading the application...")
0
- if options[:daemonize]
0
+ if @options[:daemonize]
0
pwd = Dir.pwd # Current directory is changed during daemonization, so store it
0
trap('HUP', 'IGNORE') # Don't die upon logout
0
- [STDOUT, STDERR].each { |f| f.reopen log_file, 'a' }
0
+ if @options[:log_file]
0
+ [STDOUT, STDERR].each { |f| f.reopen @options[:log_file], 'a' }
0
- Runner.write_pid_file(options[:pid_file])
0
+ if @options[:pid_file]
0
+ Runner.write_pid_file(@options[:pid_file])
0
- Runner.remove_pid_file(options[:pid_file])
0
+ Runner.remove_pid_file(@options[:pid_file])
0
- Ebb::start_server(@app, options)
0
+ Ebb::start_server(@app, @options)
0
- Ebb::Runner.kill options[:pid_file], options[:timeout]
0
+ Ebb::Runner.kill @options[:pid_file], @options[:timeout]
0
puts "Command required"
0
- abort "Invalid command : #{ARGV[0]}"
0
- def get_options_from_command_line
0
- options = DEFAULT_OPTIONS.dup
0
- option_parser = OptionParser.new do |parser|
0
- parser.banner = "Usage: #{@name} [options] start | stop"
0
- if respond_to?(:add_extra_options)
0
- add_extra_options(parser, options)
0
- # opts.on("-s", "--socket SOCKET", "listen on socket") { |socket| options[:socket] = socket }
0
- parser.on("-p", "--port PORT", "(default: #{options[:port]})") { |p| options[:port]=p }
0
- parser.on("-d", "--daemonize", "Daemonize") { options[:daemonize] = true }
0
- parser.on("-l", "--log-file FILE", "File to redirect output") { |f| options[:log_file]=f }
0
- parser.on("-P", "--pid-file FILE", "File to store PID") { |f| options[:pid_file]=f }
0
- parser.on("-t", "--timeout SECONDS", "(default: #{options[:timeout]})") { |s| options[:timeout]=s }
0
- #parser.on("-w", "--workers WORKERS", "Number of worker threads (default: #{options[:workers]})") { |w| options[:workers]=w }
0
- parser.on("-w", "-- WORKERS", "Number of worker threads (default: #{options[:workers]})") { |w| options[:workers]=w }
0
- parser.on("-S", "--sequential", "do not use threaded processing") do
0
- options[:threaded_processing] = false
0
- parser.on_tail("-h", "--help", "Show this message") do
0
- parser.on_tail('-v', '--version', "Show version") do
0
- puts "Ebb #{Ebb::VERSION}"
0
+ abort "Invalid command : #{argv[0]}"
0
- option_parser.parse!(ARGV)
0
- [option_parser, options]
Comments
No one has commented yet.