Sha256: 727802d4d5e150dd9e2526b1513987bbbf84a5c8b1413c86ed5cf689fed768a4

Contents?: true

Size: 1.69 KB

Versions: 3

Compression:

Stored size: 1.69 KB

Contents

#!/usr/bin/env ruby
# frozen_string_literal: true

require 'optparse'

options = { action: :run }

daemonize_help = 'run daemonized in the background (default: false)'
pidfile_help   = 'the pid filename'
logfile_help   = 'the log filename'
include_help   = 'an additional $LOAD_PATH (may be used more than once)'
debug_help     = 'set $DEBUG to true'
warn_help      = 'enable warnings'
time_help      = 'only run legion for X seconds'

op = OptionParser.new
op.banner =  'An example of how to daemonize a long running Ruby process.'
op.separator ''
op.separator 'Usage: server [options]'
op.separator ''

op.separator ''
op.separator 'Process options:'
op.on('-d', '--daemonize',   daemonize_help) {         options[:daemonize] = true  }
op.on('-p', '--pid PIDFILE', pidfile_help)   { |value| options[:pidfile]   = value }
op.on('-l', '--log LOGFILE', logfile_help)   { |value| options[:logfile]   = value }
op.on('-t', '--time 10', time_help)          { |value| options[:time_limit] = value }

op.separator ''
op.separator 'Ruby options:'
op.on('-I', '--include PATH', include_help) do |value|
  $LOAD_PATH.unshift(*value.split(':').map do |v|
                       File.expand_path(v)
                     end)
end
op.on('--debug',        debug_help)   { $DEBUG = true }
op.on('--warn',         warn_help)    { $-w = true    }

op.separator ''
op.separator 'Common options:'
op.on('-h', '--help')    { options[:action] = :help    }
op.on('-v', '--version') { options[:action] = :version }

op.separator ''
op.parse!(ARGV)

require File.expand_path('lib/legion.rb') unless options[:action] == :help
Legion.start
require File.expand_path('lib/legion/process.rb') unless options[:action] == :help
Legion::Process.new(options).run!

Version data entries

3 entries across 2 versions & 1 rubygems

Version Path
legionio-0.3.1 exe/legion
legionio-0.3.0 bin/legion
legionio-0.3.0 exe/legion