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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: ff9c050c494402921ba0f7813e46c1d249cdd4bf
4
- data.tar.gz: 54bd7b74632cb1c27956a3233cb773a6ec6edb54
3
+ metadata.gz: 54c1986a43737d5677bd3be8f54c70297d115ba5
4
+ data.tar.gz: 703dc34c62c07005a9e3e4d8e491b0d1e1d2d8a1
5
5
  SHA512:
6
- metadata.gz: 29d35c215c48355f0afb01459b069af9d4f99d06c9bdc37903fa99171e1b0ae60bdeae631fc78f989b10801221c0cc8cea11c5f545d73af1fffcea62f6807214
7
- data.tar.gz: 2e15bf30ff34701df89e85a3c1fab820b751a6897d2871069b91ee3e406e134120ae587d593d1ea607696a39d30fe5cd56efc0c59fe414ad11c6e0f960940f38
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
@@ -25,4 +25,5 @@ Gem::Specification.new do |spec|
25
25
  spec.add_dependency "em-udns"
26
26
  spec.add_dependency "em-ssh"
27
27
  spec.add_dependency "eventmachine_httpserver"
28
+ spec.add_dependency "json"
28
29
  end
@@ -1,3 +1,3 @@
1
1
  module Emptyd
2
- VERSION = "0.0.4"
2
+ VERSION = "0.0.6"
3
3
  end
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 = 30
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.submit_AAAA @host
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.submit_A @host
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
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-03-19 00:00:00.000000000 Z
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