lib/sidekiq/limit_fetch/global/semaphore.rb in sidekiq-limit_fetch-2.4.2 vs lib/sidekiq/limit_fetch/global/semaphore.rb in sidekiq-limit_fetch-3.0.0
- old
+ new
@@ -1,9 +1,7 @@
module Sidekiq::LimitFetch::Global
class Semaphore
- include Sidekiq::LimitFetch::Redis
-
PREFIX = 'limit_fetch'
attr_reader :local_busy
def initialize(name)
@@ -43,11 +41,11 @@
redis {|it| it.del "#{PREFIX}:process_limit:#@name" }
end
end
def acquire
- Selector.acquire([@name], determine_namespace).size > 0
+ Selector.acquire([@name], namespace).size > 0
end
def release
redis {|it| it.lrem "#{PREFIX}:probed:#@name", 1, Selector.uuid }
end
@@ -160,8 +158,18 @@
def remove_lock!(process)
redis do |it|
it.lrem "#{PREFIX}:probed:#@name", 0, process
it.lrem "#{PREFIX}:busy:#@name", 0, process
end
+ end
+
+ private
+
+ def redis(&block)
+ Sidekiq.redis(&block)
+ end
+
+ def namespace
+ Sidekiq::LimitFetch::Queues.namespace
end
end
end