Class: UState::Server
- Inherits:
-
Object
show all
- Defined in:
- lib/ustate/server/backends/tcp.rb,
lib/ustate/server.rb
Overview
Defined Under Namespace
Modules: Backends
Classes: Connection, Error, Graphite, Index
Instance Attribute Summary collapse
Instance Method Summary
collapse
Constructor Details
#initialize(opts = {}) ⇒ Server
Returns a new instance of Server.
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
# File 'lib/ustate/server.rb', line 29
def initialize(opts = {})
@backends = []
b = Backends::TCP.new opts.merge(server: self)
b.server = self
@backends << b
@index = Index.new :server => self
@log = Logger.new('ustate.log', 4, 134217728)
@log.level = Logger::INFO
setup_signals
end
|
Instance Attribute Details
#aggregator(opts = {}) ⇒ Object
44
45
46
47
|
# File 'lib/ustate/server.rb', line 44
def aggregator(opts = {})
require 'ustate/aggregator'
@aggregator ||= UState::Aggregator.new(@index, opts.merge(server: self))
end
|
#backends ⇒ Object
Returns the value of attribute backends.
21
22
23
|
# File 'lib/ustate/server.rb', line 21
def backends
@backends
end
|
#emailer(opts = {}) ⇒ Object
49
50
51
52
|
# File 'lib/ustate/server.rb', line 49
def emailer(opts = {})
require 'ustate/emailer'
@emailer ||= UState::Emailer.new(@index, opts.merge(server: self))
end
|
#graphite(opts = {}) ⇒ Object
54
55
56
57
|
# File 'lib/ustate/server.rb', line 54
def graphite(opts = {})
require 'ustate/graphite'
@graphite ||= UState::Graphite.new(@index, opts.merge(server: self))
end
|
#index ⇒ Object
Returns the value of attribute index.
22
23
24
|
# File 'lib/ustate/server.rb', line 22
def index
@index
end
|
#log ⇒ Object
Returns the value of attribute log.
27
28
29
|
# File 'lib/ustate/server.rb', line 27
def log
@log
end
|
Instance Method Details
#setup_signals ⇒ Object
88
89
90
91
|
# File 'lib/ustate/server.rb', line 88
def setup_signals
trap('INT') { stop! }
trap('TERM') { stop }
end
|
#start ⇒ Object
59
60
61
62
63
64
65
66
|
# File 'lib/ustate/server.rb', line 59
def start
@index.start
@backends.map do |b|
b.start
end
end
|
#stop ⇒ Object
68
69
70
71
72
73
74
75
76
77
78
|
# File 'lib/ustate/server.rb', line 68
def stop
@backends.map do |b|
if b.running?
b.stop
else
stop!
end
end
@index.stop
end
|
#stop! ⇒ Object
80
81
82
83
84
85
86
|
# File 'lib/ustate/server.rb', line 80
def stop!
@backends.map do |b|
b.stop!
end
@index.stop!
end
|