backendproxy.rb |
Path: |
srv/backendproxy.rb |
Modified: |
Sun Apr 06 11:50:25 MDT 2003 |
|
|
# File srv/backendproxy.rb, line 59
def main(opts, args)
servname = opts["servname"]
if servname.nil? || args.size != 1
$stderr.puts("usage: #{APPNAME} -a name command|filename")
return 1
end
log = Logging::init(APPNAME)
proxy = get_client_for("player", servname)
if proxy.nil?
log.error { "server \"#{servname}\" not found" }
$stderr.puts("#{APPNAME}: server \"#{servname}\" not found")
return 1
end
trap("HUP") { exit(0) } # used internally
trap("INT") { trycall(proxy.stop); exit(0) }
trap("QUIT") { trycall(proxy.stop); exit(0) }
trap("TERM") { trycall(proxy.stop); exit(0) }
errhandler = proc { |s| log.error { s } }
case args.first
when "p","pause"
trycall { proxy.pause }
when "u","unpause"
trycall { proxy.unpause }
when ".","stop"
trycall { proxy.stop }
when "s","status"
trycall { p proxy.status? }
when "x","exit"
log.info { "Daemon exit" }
trycall { proxy.exit }
else
file = args.first
if ! File.file?(file)
log.error { "file \"#{file}\" not found" }
else
trycall { proxy.start(file, 0, $$) }
begin
sleep(60)
end until trycall { proxy.poll? } != true
log.error { "deadman poll? error" }
end
end
return 0
end
Parse command line and call main.
# File srv/backendproxy.rb, line 195
def start(av)
opts = BProxyOpts.new(USAGE, BANNER)
main(opts.vals, opts.parse(av))
end