Sha256: 3a990c772158c15197b0fecafbd586f41a59bd6961661cf6c59442f073b6d829
Contents?: true
Size: 2 KB
Versions: 4
Compression:
Stored size: 2 KB
Contents
require 'liquid/metrics' require 'liquid/tracker' module Liquid class Server def initialize $log.info("#{self.class.name.downcase} #{RUBY_DESCRIPTION}") $log.info("#{self.class.name.downcase}", env: Env.mode) Signal.register_shutdown_handler { System.exit(0) } Signal.register_shutdown_handler { ZContext.destroy } initialize_raven initialize_tracker initialize_metrics initialize_health_checks end def initialize_raven return unless $conf.raven require 'raven' Raven.configure do |config| config.dsn = $conf.raven.dsn config.logger = $log end $log.add_exception_handler do |exc, message, attribs| Raven.capture_exception(exc) end end def initialize_tracker if $conf.tracker.kafka.enabled # http://kafka.apache.org/documentation.html#producerconfigs properties = java.util.Properties.new properties['metadata.broker.list'] = $conf.tracker.kafka.brokers.join(',') properties['producer.type'] = 'async' properties['serializer.class'] = 'kafka.serializer.StringEncoder' $tracker = ::Tracker::KafkaTracker.new(properties, $conf.tracker.dimensions) else $tracker = ::Tracker::LoggerTracker.new($conf.tracker.dimensions) end Signal.register_shutdown_handler { $tracker.shutdown } end def initialize_metrics ::Metrics.start ::Metrics::TrackerReporter.new($tracker.with_topic('metrics')) Signal.register_shutdown_handler { ::Metrics.stop } end def initialize_health_checks Thread.new do Thread.name = "Health Check" HealthCheck.poll end end def initialize_zmachine require 'zmachine' ZMachine.logger = $log ZMachine.debug = true if $conf.zmachine.debug ZMachine.heartbeat_interval = 0.1 Signal.register_shutdown_handler { ZMachine.stop } end def run # by default wait for all workers Thread.join end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
liquid-ext-3.4.1 | lib/liquid/server.rb |
liquid-ext-3.4.0 | lib/liquid/server.rb |
liquid-ext-3.3.10 | lib/liquid/server.rb |
liquid-ext-3.3.9 | lib/liquid/server.rb |