lib/einhorn/command.rb in einhorn-0.5.0 vs lib/einhorn/command.rb in einhorn-0.5.1
- old
+ new
@@ -317,10 +317,11 @@
replenish_immediately
end
def self.cull
acked = Einhorn::WorkerPool.ack_count
+ unsignaled = Einhorn::WorkerPool.unsignaled_count
target = Einhorn::WorkerPool.ack_target
if Einhorn::State.upgrading && acked >= target
Einhorn::State.upgrading = false
Einhorn.log_info("Upgraded successfully to version #{Einhorn::State.version} (Einhorn #{Einhorn::VERSION}).", :upgrade)
@@ -331,11 +332,11 @@
if !Einhorn::State.upgrading && old_workers.length > 0
Einhorn.log_info("Killing off #{old_workers.length} old workers.")
signal_all("USR2", old_workers)
end
- if acked > target
- excess = Einhorn::WorkerPool.acked_unsignaled_modern_workers[0...(acked-target)]
+ if unsignaled > target
+ excess = Einhorn::WorkerPool.unsignaled_modern_workers_with_priority[0...(unsignaled-target)]
Einhorn.log_info("Have too many workers at the current version, so killing off #{excess.length} of them.")
signal_all("USR2", excess)
end
end