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 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