emptyd 0.0.4 → 0.0.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/bin/emptyd +4 -1
- data/emptyd.gemspec +1 -0
- data/lib/emptyd/version.rb +1 -1
- data/lib/emptyd.rb +7 -5
- metadata +16 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 54c1986a43737d5677bd3be8f54c70297d115ba5
|
4
|
+
data.tar.gz: 703dc34c62c07005a9e3e4d8e491b0d1e1d2d8a1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 157e1c2f2674399157fa02ab38fdc6d584df852241b85b0b024636345bd5301275d4f8ab61bc07acaf24294a7cdccff205841fa6fc69454be2e1eb193c73d33d
|
7
|
+
data.tar.gz: c89ef07273792b1b5594501f0d29032dbbf100c19e092c2ce5d5c1b0584226b2049e17edad5223271760dbd2cb0f187d88cc4f41343311aa91c6282e0e355ee8
|
data/bin/emptyd
CHANGED
@@ -48,6 +48,9 @@ class MyHttpServer < EM::Connection
|
|
48
48
|
response.content = JSON.dump([nil,:dead,nil])
|
49
49
|
else
|
50
50
|
return session.queue.pop do |data|
|
51
|
+
if data[-1].kind_of? String
|
52
|
+
data[-1].force_encoding Encoding::UTF_8
|
53
|
+
end
|
51
54
|
response.content = JSON.dump(data)
|
52
55
|
response.send_response
|
53
56
|
end
|
@@ -90,7 +93,7 @@ CONFIG = {
|
|
90
93
|
%w{.emptyd.conf .empty.conf}.map{|name| File.expand_path("~/#{name}")}.each do |name|
|
91
94
|
next unless File.exist? name
|
92
95
|
File.open(name) do |file|
|
93
|
-
CONFIG.merge!(JSON.parse(file, :symbolize_names => true)) do |k, x, y|
|
96
|
+
CONFIG.merge!(JSON.parse(file.read, :symbolize_names => true)) do |k, x, y|
|
94
97
|
x.respond_to?(:merge) ? x.merge(y) : y
|
95
98
|
end
|
96
99
|
end
|
data/emptyd.gemspec
CHANGED
data/lib/emptyd/version.rb
CHANGED
data/lib/emptyd.rb
CHANGED
@@ -12,7 +12,7 @@ module Emptyd
|
|
12
12
|
class Connection
|
13
13
|
attr_reader :key, :updated_at, :failed_at, :error
|
14
14
|
EXPIRE_INTERVAL = 600 # 10min
|
15
|
-
MAX_CONNECTIONS =
|
15
|
+
MAX_CONNECTIONS = 100
|
16
16
|
HAPPY_RATIO = 0.5
|
17
17
|
@@connections = {}
|
18
18
|
@@count = {}
|
@@ -130,31 +130,33 @@ module Emptyd
|
|
130
130
|
end
|
131
131
|
end
|
132
132
|
|
133
|
+
resolver = nil
|
134
|
+
|
133
135
|
resfail = proc do |err|
|
134
136
|
@error = err
|
137
|
+
@logger.error "DNS Error: #{err}"
|
135
138
|
@failed_at = Time.now
|
136
139
|
EM::Timer.new(rand(1..10)) do
|
137
|
-
@start_timer.cancel
|
138
140
|
EM.next_tick resolver
|
139
141
|
end
|
140
142
|
end
|
141
143
|
|
142
144
|
resolver = proc do
|
143
|
-
query = @@dns.
|
145
|
+
query = @@dns.submit_A @host
|
144
146
|
query.callback do |result|
|
145
147
|
@ip = result.sample
|
146
148
|
starter[]
|
147
149
|
end
|
148
150
|
query.errback do |err|
|
149
151
|
if err == :dns_error_nodata
|
150
|
-
query = @@dns.
|
152
|
+
query = @@dns.submit_AAAA @host
|
151
153
|
query.callback do |result|
|
152
154
|
@ip = result.sample
|
153
155
|
starter[]
|
154
156
|
end
|
155
157
|
query.errback { |err| resfail[err] }
|
156
158
|
else
|
157
|
-
resfail[]
|
159
|
+
resfail[err]
|
158
160
|
end
|
159
161
|
end
|
160
162
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: emptyd
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- kmeaw
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-04-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -94,6 +94,20 @@ dependencies:
|
|
94
94
|
- - '>='
|
95
95
|
- !ruby/object:Gem::Version
|
96
96
|
version: '0'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: json
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - '>='
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '0'
|
104
|
+
type: :runtime
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - '>='
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0'
|
97
111
|
description: An HTTP interface to run a single command on a cluster.
|
98
112
|
email:
|
99
113
|
- kmeaw@larkit.ru
|