quark 0.1.3 → 0.1.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (2) hide show
  1. data/lib/quark.rb +19 -2
  2. metadata +89 -44
data/lib/quark.rb CHANGED
@@ -21,6 +21,7 @@ module Quark
21
21
  end
22
22
 
23
23
  def receive_data(data)
24
+ puts "DEBUG: Received '#{data}'" if Quark::Config.get("debug")
24
25
  send_json(Quark::SocketServer.process_command(data))
25
26
  end
26
27
 
@@ -97,10 +98,13 @@ module Quark
97
98
  Quark::Config.set("quark.udp.enabled", false)
98
99
  Quark::Config.set("quark.http.enabled", false)
99
100
  Quark::Config.set("quark.http.port", 12180)
100
- Quark::Config.get("quark.http.cors", false)
101
+ Quark::Config.set("quark.http.cors", false)
101
102
  Quark::Config.set("quark.graphite_compat", true)
102
103
  Quark::Config.set("debug", false)
104
+ nil
105
+ end
103
106
 
107
+ def self.connect()
104
108
  @redis = Redis.new({
105
109
  :host => Quark::Config.get("redis.host", "127.0.0.1"),
106
110
  :port => Quark::Config.get("redis.port", 6379).to_i,
@@ -110,10 +114,11 @@ module Quark
110
114
  @_prefix = Quark::Config.get("redis.prefix", "quark")
111
115
 
112
116
  Quark::SocketServer.setup(@redis, @_prefix)
113
- nil
114
117
  end
115
118
 
116
119
  def self.run()
120
+ connect() unless defined?(@redis)
121
+
117
122
  @address = Quark::Config.get("quark.address")
118
123
  @port = Quark::Config.get("quark.port")
119
124
  @filename = Quark::Config.get("quark.socket")
@@ -170,6 +175,18 @@ module Quark
170
175
  end
171
176
  end
172
177
 
178
+ def self.daemonize()
179
+ return @_service if defined?(@_service)
180
+
181
+ @_service = proc do
182
+ self.run()
183
+ end
184
+
185
+ EM.defer(@_service)
186
+ return @_service
187
+ end
188
+
189
+
173
190
  # removes metrics that match keys and (optionally) are older than 'to'
174
191
  # if 'to' is negative, it is assumed to be n-seconds ago
175
192
  #
metadata CHANGED
@@ -1,8 +1,8 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: quark
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
5
4
  prerelease:
5
+ version: 0.1.4
6
6
  platform: ruby
7
7
  authors:
8
8
  - Gary Hetzel
@@ -12,104 +12,149 @@ cert_chain: []
12
12
  date: 2014-05-06 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
- name: multi_json
16
- requirement: &11548480 !ruby/object:Gem::Requirement
15
+ type: :runtime
16
+ version_requirements: !ruby/object:Gem::Requirement
17
+ requirements:
18
+ - - '='
19
+ - !ruby/object:Gem::Version
20
+ version: 1.7.9
17
21
  none: false
22
+ prerelease: false
23
+ name: multi_json
24
+ requirement: !ruby/object:Gem::Requirement
18
25
  requirements:
19
- - - =
26
+ - - '='
20
27
  - !ruby/object:Gem::Version
21
28
  version: 1.7.9
29
+ none: false
30
+ - !ruby/object:Gem::Dependency
22
31
  type: :runtime
32
+ version_requirements: !ruby/object:Gem::Requirement
33
+ requirements:
34
+ - - ~>
35
+ - !ruby/object:Gem::Version
36
+ version: 1.0.0
37
+ none: false
23
38
  prerelease: false
24
- version_requirements: *11548480
25
- - !ruby/object:Gem::Dependency
26
39
  name: eventmachine
27
- requirement: &11548000 !ruby/object:Gem::Requirement
28
- none: false
40
+ requirement: !ruby/object:Gem::Requirement
29
41
  requirements:
30
42
  - - ~>
31
43
  - !ruby/object:Gem::Version
32
44
  version: 1.0.0
45
+ none: false
46
+ - !ruby/object:Gem::Dependency
33
47
  type: :runtime
48
+ version_requirements: !ruby/object:Gem::Requirement
49
+ requirements:
50
+ - - ~>
51
+ - !ruby/object:Gem::Version
52
+ version: 3.0.0
53
+ none: false
34
54
  prerelease: false
35
- version_requirements: *11548000
36
- - !ruby/object:Gem::Dependency
37
55
  name: redis
38
- requirement: &11547540 !ruby/object:Gem::Requirement
39
- none: false
56
+ requirement: !ruby/object:Gem::Requirement
40
57
  requirements:
41
58
  - - ~>
42
59
  - !ruby/object:Gem::Version
43
60
  version: 3.0.0
61
+ none: false
62
+ - !ruby/object:Gem::Dependency
44
63
  type: :runtime
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ~>
67
+ - !ruby/object:Gem::Version
68
+ version: 0.5.2
69
+ none: false
45
70
  prerelease: false
46
- version_requirements: *11547540
47
- - !ruby/object:Gem::Dependency
48
71
  name: hiredis
49
- requirement: &11357600 !ruby/object:Gem::Requirement
50
- none: false
72
+ requirement: !ruby/object:Gem::Requirement
51
73
  requirements:
52
74
  - - ~>
53
75
  - !ruby/object:Gem::Version
54
76
  version: 0.5.2
77
+ none: false
78
+ - !ruby/object:Gem::Dependency
55
79
  type: :runtime
80
+ version_requirements: !ruby/object:Gem::Requirement
81
+ requirements:
82
+ - - ~>
83
+ - !ruby/object:Gem::Version
84
+ version: 1.0.3
85
+ none: false
56
86
  prerelease: false
57
- version_requirements: *11357600
58
- - !ruby/object:Gem::Dependency
59
87
  name: em-synchrony
60
- requirement: &11357160 !ruby/object:Gem::Requirement
61
- none: false
88
+ requirement: !ruby/object:Gem::Requirement
62
89
  requirements:
63
90
  - - ~>
64
91
  - !ruby/object:Gem::Version
65
92
  version: 1.0.3
93
+ none: false
94
+ - !ruby/object:Gem::Dependency
66
95
  type: :runtime
96
+ version_requirements: !ruby/object:Gem::Requirement
97
+ requirements:
98
+ - - ! '>='
99
+ - !ruby/object:Gem::Version
100
+ version: 0.0.35
101
+ none: false
67
102
  prerelease: false
68
- version_requirements: *11357160
69
- - !ruby/object:Gem::Dependency
70
103
  name: hashlib
71
- requirement: &11356720 !ruby/object:Gem::Requirement
72
- none: false
104
+ requirement: !ruby/object:Gem::Requirement
73
105
  requirements:
74
106
  - - ! '>='
75
107
  - !ruby/object:Gem::Version
76
108
  version: 0.0.35
109
+ none: false
110
+ - !ruby/object:Gem::Dependency
77
111
  type: :runtime
112
+ version_requirements: !ruby/object:Gem::Requirement
113
+ requirements:
114
+ - - ! '>='
115
+ - !ruby/object:Gem::Version
116
+ version: '0'
117
+ none: false
78
118
  prerelease: false
79
- version_requirements: *11356720
80
- - !ruby/object:Gem::Dependency
81
119
  name: sinatra
82
- requirement: &11356280 !ruby/object:Gem::Requirement
83
- none: false
120
+ requirement: !ruby/object:Gem::Requirement
84
121
  requirements:
85
122
  - - ! '>='
86
123
  - !ruby/object:Gem::Version
87
124
  version: '0'
125
+ none: false
126
+ - !ruby/object:Gem::Dependency
88
127
  type: :runtime
128
+ version_requirements: !ruby/object:Gem::Requirement
129
+ requirements:
130
+ - - ! '>='
131
+ - !ruby/object:Gem::Version
132
+ version: '0'
133
+ none: false
89
134
  prerelease: false
90
- version_requirements: *11356280
91
- - !ruby/object:Gem::Dependency
92
135
  name: sinatra-cross_origin
93
- requirement: &11355780 !ruby/object:Gem::Requirement
94
- none: false
136
+ requirement: !ruby/object:Gem::Requirement
95
137
  requirements:
96
138
  - - ! '>='
97
139
  - !ruby/object:Gem::Version
98
140
  version: '0'
141
+ none: false
142
+ - !ruby/object:Gem::Dependency
99
143
  type: :runtime
144
+ version_requirements: !ruby/object:Gem::Requirement
145
+ requirements:
146
+ - - ! '>='
147
+ - !ruby/object:Gem::Version
148
+ version: '0'
149
+ none: false
100
150
  prerelease: false
101
- version_requirements: *11355780
102
- - !ruby/object:Gem::Dependency
103
151
  name: thin
104
- requirement: &11355320 !ruby/object:Gem::Requirement
105
- none: false
152
+ requirement: !ruby/object:Gem::Requirement
106
153
  requirements:
107
154
  - - ! '>='
108
155
  - !ruby/object:Gem::Version
109
156
  version: '0'
110
- type: :runtime
111
- prerelease: false
112
- version_requirements: *11355320
157
+ none: false
113
158
  description: A small service for logging and retrieving timeseries metrics into a
114
159
  Redis server
115
160
  email: garyhetzel@gmail.com
@@ -121,10 +166,10 @@ files:
121
166
  - lib/quark.rb
122
167
  - lib/quark/servers/http.rb
123
168
  - lib/quark/config.rb
124
- - lib/quark/commands/peek.rb
125
169
  - lib/quark/commands/fetch.rb
126
- - lib/quark/commands/observe.rb
127
170
  - lib/quark/commands/ping.rb
171
+ - lib/quark/commands/peek.rb
172
+ - lib/quark/commands/observe.rb
128
173
  - bin/quark
129
174
  homepage: https://github.com/ghetzel/quark
130
175
  licenses: []
@@ -133,20 +178,20 @@ rdoc_options: []
133
178
  require_paths:
134
179
  - lib
135
180
  required_ruby_version: !ruby/object:Gem::Requirement
136
- none: false
137
181
  requirements:
138
182
  - - ! '>='
139
183
  - !ruby/object:Gem::Version
140
184
  version: '0'
141
- required_rubygems_version: !ruby/object:Gem::Requirement
142
185
  none: false
186
+ required_rubygems_version: !ruby/object:Gem::Requirement
143
187
  requirements:
144
188
  - - ! '>='
145
189
  - !ruby/object:Gem::Version
146
190
  version: '0'
191
+ none: false
147
192
  requirements: []
148
193
  rubyforge_project:
149
- rubygems_version: 1.8.11
194
+ rubygems_version: 1.8.28
150
195
  signing_key:
151
196
  specification_version: 3
152
197
  summary: A miniscule timeseries metrics logging service