Sha256: 152fcef9c27e03a4078ef5d88c17325aaee8e7bb1c9ba37ac2fbbfcd6aa96981

Contents?: true

Size: 1.59 KB

Versions: 4

Compression:

Stored size: 1.59 KB

Contents

#!/usr/bin/env ruby
$:.unshift File.expand_path(File.join(File.dirname(__FILE__), %w[.. lib]))
require 'eye/loader'
require 'optparse'
require 'eye'

options = { debug: false }

OptionParser.new do |opts|
  opts.on('-h', '--help', 'Display this screen') do
    puts opts
    exit
  end

  opts.on('-c', '--config CONFIG', 'load with config') do |config_path|
    options[:config] = config_path
  end

  opts.on('-s', '--socket SOCKET', 'start listen on socket') do |socket_path|
    options[:socket_path] = socket_path
  end

  opts.on('-l', '--logger LOGGER', 'custom logger') do |logger|
    options[:logger] = logger
  end

  opts.on('-d', '--dir DIR', 'Dir for local runner') do |dir|
    Eye::Local.dir = dir
    Eye::Local.local_runner = true
  end

  opts.on('-a', '--stop_all', 'Stop all on exit') do
    options[:stop_all] = true
  end

  opts.on('-g', '--debug', 'debug info to logger') do
    options[:debug] = true
  end
end.parse!

Eye::Local.ensure_eye_dir

socket_path = options[:socket_path] || Eye::Local.socket_path
server = Eye::Server.new(socket_path)

Eye::Logger.log_level = options[:debug] ? Logger::DEBUG : Logger::INFO
Eye::Logger.link_logger(options[:logger]) if options[:logger]

config = options[:config]
config = File.expand_path(config) if config && !config.empty?

Eye::Control # preload

if config
  res = server.command('load', config)
  exit(1) if res.values.any? { |r| r[:error] }
end

Eye::Control.set_proc_line

server.async.run

trap('USR1') { Eye::Logger.reopen }
trap('USR2') { GC.start }

at_exit { Eye::Control.command(:stop_all) } if options[:stop_all]

begin
  sleep
rescue Interrupt
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
eye-0.8.1 bin/loader_eye
eye-0.8.celluloid15 bin/loader_eye
eye-0.8 bin/loader_eye
eye-0.8.rc bin/loader_eye