emptyd 0.0.4 → 0.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|