Sha256: e92d2df6b950728b035ae1e14dbc9b987eec71422789b4bccdd735f4044b33cb
Contents?: true
Size: 932 Bytes
Versions: 4
Compression:
Stored size: 932 Bytes
Contents
module Shoryuken class Launcher include Celluloid include Util trap_exit :actor_died attr_accessor :manager def initialize @condvar = Celluloid::Condition.new @manager = Shoryuken::Manager.new_link(@condvar) @fetcher = Shoryuken::Fetcher.new_link(manager) @done = false manager.fetcher = @fetcher end def stop(options = {}) watchdog('Launcher#stop') do @done = true @fetcher.terminate if @fetcher.alive? manager.async.stop(shutdown: !!options[:shutdown], timeout: Shoryuken.options[:timeout]) @condvar.wait manager.terminate end end def run watchdog('Launcher#run') do manager.async.start end end def actor_died(actor, reason) return if @done logger.warn 'Shoryuken died due to the following error, cannot recover, process exiting' exit 1 end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
shoryuken-1.0.2 | lib/shoryuken/launcher.rb |
shoryuken-1.0.1 | lib/shoryuken/launcher.rb |
shoryuken-1.0.0 | lib/shoryuken/launcher.rb |
shoryuken-0.0.5 | lib/shoryuken/launcher.rb |