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