Module: Otaku::Server
- Defined in:
- lib/otaku/server.rb
Defined Under Namespace
Modules: EM
Class Attribute Summary collapse
-
.handler ⇒ Object
Returns the value of attribute handler.
Class Method Summary collapse
- .cleanup ⇒ Object
- .log(*msgs) ⇒ Object
- .run_evented_server ⇒ Object
- .run_server_script ⇒ Object
- .start(other_process = false) ⇒ Object
- .stop ⇒ Object
Class Attribute Details
.handler ⇒ Object
Returns the value of attribute handler.
6 7 8 |
# File 'lib/otaku/server.rb', line 6 def handler @handler end |
Class Method Details
.cleanup ⇒ Object
38 39 40 |
# File 'lib/otaku/server.rb', line 38 def cleanup @logger.close end |
.log(*msgs) ⇒ Object
33 34 35 36 |
# File 'lib/otaku/server.rb', line 33 def log(*msgs) @logger ||= Logger.new(Otaku.log_file) msgs.each{|msg| @logger << "[Otaku] %s\n" % msg } end |
.run_evented_server ⇒ Object
16 17 18 19 20 |
# File 'lib/otaku/server.rb', line 16 def run_evented_server log 'started with pid #%s' % Process.pid, 'listening at %s:%s' % [Otaku.address, Otaku.port] EventMachine::run { EventMachine::start_server(Otaku.address, Otaku.port, EM) } end |
.run_server_script ⇒ Object
22 23 24 25 26 27 |
# File 'lib/otaku/server.rb', line 22 def run_server_script script = File.join(File.dirname(__FILE__), '..', 'otaku.rb') args = Encoder.encode(:config => Otaku.config, :handler => @handler) @process = IO.popen(%|#{Otaku.ruby} #{script} "#{args.gsub('"','\"')}"|,'r') sleep Otaku.init_wait_time end |
.start(other_process = false) ⇒ Object
8 9 10 11 12 13 14 |
# File 'lib/otaku/server.rb', line 8 def start(other_process=false) other_process ? run_evented_server : ( # print '[Otaku] initializing at %s:%s ... ' % [Otaku.address, Otaku.port] # DEBUG run_server_script # puts 'done [pid#%s]' % @process.pid # DEBUG ) end |
.stop ⇒ Object
29 30 31 |
# File 'lib/otaku/server.rb', line 29 def stop Process.kill('SIGHUP', @process.pid) if @process end |