lib/resque/pool/lifeguard.rb in resque-pool-lifeguard-0.3.0 vs lib/resque/pool/lifeguard.rb in resque-pool-lifeguard-0.4.0

- old
+ new

@@ -4,11 +4,11 @@ module Resque class Pool class Lifeguard include Logging - def initialize hostname: Socket.gethostname, defaults: -> (env) { {} } + def initialize hostname: Socket.gethostname, defaults: -> (_env) { {} } @defaults = defaults @hostname = hostname end def self.pool_key @@ -25,9 +25,17 @@ {} end def self.reset! Resque.redis.del pool_key + end + + def self.reset_empty! + used_hosts = Resque.workers.map(&:hostname).uniq + + (all_pools.keys - used_hosts).each do |host| + new(hostname: host).reset! + end end def call env @values = values || set_defaults(env) end