Sha256: 52316f222f49e2e868878eb8a686f40507900d56d891376f4b15bc9130fbd730
Contents?: true
Size: 1.22 KB
Versions: 3
Compression:
Stored size: 1.22 KB
Contents
# frozen_string_literal: true require 'svcbase/appversion' require 'svcbase/dumpstats' require 'svcbase/random' require 'svcbase/worker' module Core # actual server manager class Server include Singleton ID = Core::Random.short_id.freeze private def initialize @workers = [] register_worker(Core::Workers::DumpStats.instance) end def register_worker(klass) log.info('server') { "Registered server worker #{klass}" } @workers << klass end def start_workers @workers.each do |inst| inst.worker_start rescue StandardError => e log.fatal('server') { ["ERROR in worker #{inst}", e] } end end def stop_workers @workers.each do |inst| inst.worker_stop rescue StandardError => e log.fatal('server') { ["ERROR in worker #{inst}", e] } end end def start log.info('server') { "Server #{ID} starting" } log.info('server') { "Commit: #{Core::Version::ID}" } log.info('server') { "Tag: #{Core::Version::TAG}" } start_workers end def stop log.info('server') { "Server #{ID} stopping" } stop_workers log.info('server') { "Server #{ID} stopped" } end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
svcbase-0.1.18 | lib/svcbase/server.rb |
svcbase-0.1.17 | lib/svcbase/server.rb |
svcbase-0.1.16 | lib/svcbase/server.rb |