einhorn 0.5.5 → 0.5.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.
- data/bin/einhornsh +3 -2
- data/lib/einhorn/command.rb +11 -11
- data/lib/einhorn/version.rb +1 -1
- data/lib/einhorn.rb +2 -1
- metadata +4 -4
data/bin/einhornsh
CHANGED
@@ -66,7 +66,8 @@ module Einhorn
|
|
66
66
|
raise EinhornSHExit
|
67
67
|
end
|
68
68
|
send_command({'id' => request_id, 'command' => command, 'args' => args}) do |message|
|
69
|
-
puts message
|
69
|
+
$stdout.puts message
|
70
|
+
$stdout.flush
|
70
71
|
end
|
71
72
|
end
|
72
73
|
|
@@ -169,7 +170,7 @@ with a `-d`, provide the same argument here."
|
|
169
170
|
path_to_socket = Einhorn::Command::Interface.default_socket_path(cmd_name)
|
170
171
|
end
|
171
172
|
|
172
|
-
sh = Einhorn::EinhornSH.new(path_to_socket)
|
173
|
+
sh = Einhorn::EinhornSH.new(path_to_socket)
|
173
174
|
|
174
175
|
cmd_line_seq = options[:cmd_line_seq]
|
175
176
|
|
data/lib/einhorn/command.rb
CHANGED
@@ -39,11 +39,11 @@ module Einhorn
|
|
39
39
|
|
40
40
|
case type = spec[:type]
|
41
41
|
when :worker
|
42
|
-
Einhorn.log_info("===> Exited worker #{pid.inspect}#{extra}")
|
42
|
+
Einhorn.log_info("===> Exited worker #{pid.inspect}#{extra}", :upgrade)
|
43
43
|
when :state_passer
|
44
|
-
Einhorn.log_debug("===> Exited state passing process #{pid.inspect}")
|
44
|
+
Einhorn.log_debug("===> Exited state passing process #{pid.inspect}", :upgrade)
|
45
45
|
else
|
46
|
-
Einhorn.log_error("===> Exited process #{pid.inspect} has unrecgonized type #{type.inspect}: #{spec.inspect}")
|
46
|
+
Einhorn.log_error("===> Exited process #{pid.inspect} has unrecgonized type #{type.inspect}: #{spec.inspect}", :upgrade)
|
47
47
|
end
|
48
48
|
end
|
49
49
|
|
@@ -102,17 +102,17 @@ module Einhorn
|
|
102
102
|
children ||= Einhorn::WorkerPool.workers
|
103
103
|
|
104
104
|
signaled = []
|
105
|
-
Einhorn.log_info("Sending #{signal} to #{children.inspect}")
|
105
|
+
Einhorn.log_info("Sending #{signal} to #{children.inspect}", :upgrade)
|
106
106
|
|
107
107
|
children.each do |child|
|
108
108
|
unless spec = Einhorn::State.children[child]
|
109
|
-
Einhorn.log_error("Trying to send #{signal} to dead child #{child.inspect}. The fact we tried this probably indicates a bug in Einhorn.")
|
109
|
+
Einhorn.log_error("Trying to send #{signal} to dead child #{child.inspect}. The fact we tried this probably indicates a bug in Einhorn.", :upgrade)
|
110
110
|
next
|
111
111
|
end
|
112
112
|
|
113
113
|
if record
|
114
114
|
if spec[:signaled].include?(signal)
|
115
|
-
Einhorn.log_error("Re-sending #{signal} to already-signaled child #{child.inspect}. It may be slow to spin down, or it may be swallowing #{signal}s.")
|
115
|
+
Einhorn.log_error("Re-sending #{signal} to already-signaled child #{child.inspect}. It may be slow to spin down, or it may be swallowing #{signal}s.", :upgrade)
|
116
116
|
end
|
117
117
|
spec[:signaled].add(signal)
|
118
118
|
end
|
@@ -256,7 +256,7 @@ module Einhorn
|
|
256
256
|
end
|
257
257
|
end
|
258
258
|
|
259
|
-
Einhorn.log_info("===> Launched #{pid}")
|
259
|
+
Einhorn.log_info("===> Launched #{pid}", :upgrade)
|
260
260
|
Einhorn::State.children[pid] = {
|
261
261
|
:type => :worker,
|
262
262
|
:version => Einhorn::State.version,
|
@@ -400,17 +400,17 @@ module Einhorn
|
|
400
400
|
old_workers = Einhorn::WorkerPool.old_workers
|
401
401
|
Einhorn.log_debug("#{acked} acked, #{unsignaled} unsignaled, #{target} target, #{old_workers.length} old workers")
|
402
402
|
if !Einhorn::State.upgrading && old_workers.length > 0
|
403
|
-
Einhorn.log_info("Killing off #{old_workers.length} old workers.")
|
403
|
+
Einhorn.log_info("Killing off #{old_workers.length} old workers.", :upgrade)
|
404
404
|
signal_all("USR2", old_workers)
|
405
405
|
elsif Einhorn::State.upgrading && Einhorn::State.smooth_upgrade
|
406
406
|
# In a smooth upgrade, kill off old workers one by one when we have
|
407
407
|
# sufficiently many new workers.
|
408
408
|
excess = (old_workers.length + acked) - target
|
409
409
|
if excess > 0
|
410
|
-
Einhorn.log_info("Smooth upgrade: killing off #{excess} old workers.")
|
410
|
+
Einhorn.log_info("Smooth upgrade: killing off #{excess} old workers.", :upgrade)
|
411
411
|
signal_all("USR2", old_workers.take(excess))
|
412
412
|
elsif excess < 0
|
413
|
-
Einhorn.log_error("Smooth upgrade: somehow excess is #{excess}!")
|
413
|
+
Einhorn.log_error("Smooth upgrade: somehow excess is #{excess}!", :upgrade)
|
414
414
|
end
|
415
415
|
end
|
416
416
|
|
@@ -478,7 +478,7 @@ module Einhorn
|
|
478
478
|
msg = "Last spinup was #{seconds_ago}s ago, and spinup_interval is #{spinup_interval}s, so spinning up a new process"
|
479
479
|
|
480
480
|
if Einhorn::State.consecutive_deaths_before_ack > 0
|
481
|
-
Einhorn.log_info("#{msg} (there have been #{Einhorn::State.consecutive_deaths_before_ack} consecutive unacked worker deaths)")
|
481
|
+
Einhorn.log_info("#{msg} (there have been #{Einhorn::State.consecutive_deaths_before_ack} consecutive unacked worker deaths)", :upgrade)
|
482
482
|
else
|
483
483
|
Einhorn.log_debug(msg)
|
484
484
|
end
|
data/lib/einhorn/version.rb
CHANGED
data/lib/einhorn.rb
CHANGED
@@ -168,8 +168,9 @@ module Einhorn
|
|
168
168
|
end
|
169
169
|
|
170
170
|
# Implement these ourselves so it plays nicely with state persistence
|
171
|
-
def self.log_debug(msg)
|
171
|
+
def self.log_debug(msg, tag=nil)
|
172
172
|
$stderr.puts("#{log_tag} DEBUG: #{msg}") if Einhorn::State.verbosity <= 0
|
173
|
+
self.send_tagged_message(tag, msg) if tag
|
173
174
|
end
|
174
175
|
def self.log_info(msg, tag=nil)
|
175
176
|
$stderr.puts("#{log_tag} INFO: #{msg}") if Einhorn::State.verbosity <= 1
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: einhorn
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.6
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2014-03
|
12
|
+
date: 2014-04-03 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rake
|
@@ -166,7 +166,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
166
166
|
version: '0'
|
167
167
|
segments:
|
168
168
|
- 0
|
169
|
-
hash: -
|
169
|
+
hash: -2873954184645788574
|
170
170
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
171
171
|
none: false
|
172
172
|
requirements:
|
@@ -175,7 +175,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
175
175
|
version: '0'
|
176
176
|
segments:
|
177
177
|
- 0
|
178
|
-
hash: -
|
178
|
+
hash: -2873954184645788574
|
179
179
|
requirements: []
|
180
180
|
rubyforge_project:
|
181
181
|
rubygems_version: 1.8.23
|