Class: Fiona7::BinaryHandling::EmbeddedServer
- Inherits:
-
Object
- Object
- Fiona7::BinaryHandling::EmbeddedServer
- Extended by:
- MonitorMixin
- Defined in:
- lib/fiona7/scrivito_patches/binary.rb
Defined Under Namespace
Classes: BinaryServerlet
Constant Summary collapse
- HOST =
'localhost'- PORT =
7104
Class Attribute Summary collapse
-
.enable ⇒ Object
Returns the value of attribute enable.
Class Method Summary collapse
Class Attribute Details
.enable ⇒ Object
Returns the value of attribute enable.
343 344 345 |
# File 'lib/fiona7/scrivito_patches/binary.rb', line 343 def enable @enable end |
Class Method Details
.run_server ⇒ Object
442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 |
# File 'lib/fiona7/scrivito_patches/binary.rb', line 442 def self.run_server server = ::WEBrick::HTTPServer.new({ :Port => PORT, :DocumentRoot => '/dev/null', #Logger: WEBrick::Log.new(Logger.new(nil)), AccessLog: [] }) server.mount '/', BinaryServerlet Signal.trap('INT') do server.shutdown exit! end server.start end |
.running_instance ⇒ Object
416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 |
# File 'lib/fiona7/scrivito_patches/binary.rb', line 416 def self.running_instance if !self.enable return HOST, PORT end self.synchronize do @server_thread ||= self.wait_for_server Kernel.at_exit do Process.kill("INT", @server_thread) Process.kill("KILL", @server_thread) end return HOST, PORT end end |
.wait_for_server ⇒ Object
433 434 435 436 437 438 439 440 |
# File 'lib/fiona7/scrivito_patches/binary.rb', line 433 def self.wait_for_server pid = Process.fork do self.run_server end # wait for webrick! sleep 1 pid end |