Sha256: 8e3830d9e8b2970022df865524bd3b17e2101ebcd26e61b5849b142bc10c1fdc
Contents?: true
Size: 982 Bytes
Versions: 2
Compression:
Stored size: 982 Bytes
Contents
require 'zygote/http' require 'thin' class ZygoteServer def initialize(port: 7000, threads:1000, host: '0.0.0.0', config_path: nil, cells: [], debug:false) debug ||= ENV['DEBUG'] cell_config = YAML.load(File.read(config_path || File.join(Dir.pwd, 'config', 'cells.yml'))) ZygoteWeb.views = [File.expand_path('../../../views', __FILE__), cells].flatten ZygoteWeb.cell_config = cell_config if debug $stdout.sync = true $stderr.sync = true end app = ZygoteWeb.new dispatch = Rack::Builder.app do map '/' do run app end end @server = Thin::Server.new(port, host, dispatch, threadpool_size: threads).backend end def start @server.start end def run EM.run do init_sighandlers @server.start end end end def init_sighandlers trap(:INT) { 'Got interrupt'; EM.stop; exit } trap(:TERM) { 'Got term'; EM.stop; exit } trap(:KILL) { 'Got kill'; EM.stop; exit } end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
zygote-0.2.1 | lib/zygote/server.rb |
zygote-0.2.0 | lib/zygote/server.rb |