lib/resque/one/queue_locker.rb in resque-one-1.0.1 vs lib/resque/one/queue_locker.rb in resque-one-1.1.0
- old
+ new
@@ -1,11 +1,9 @@
module Resque
module One
class QueueLocker
- PREFIX = 'resque-one'.freeze
-
attr_reader :redis, :queue
def initialize(redis, queue)
@redis = redis
@queue = queue
@@ -18,28 +16,29 @@
def lock(job_info)
return false if locked? job_info
job_key = key_for job_info
redis.set job_key, job_info.id
+ redis.expire job_key, Resque::One.lock_ttl if Resque::One.lock_ttl
true
end
def unlock(job_info)
redis.del key_for(job_info)
end
def unlock_all(klass=nil)
filter = klass ? "#{queue_key}:#{klass.to_s}:*" : "#{queue_key}:*"
- redis.keys(filter).each do |key|
+ redis.scan_each(match: filter, count: Resque::One.scan_count) do |key|
redis.del key
end
end
private
def queue_key
- "#{PREFIX}:#{queue}"
+ "#{Resque::One.keyspace}:#{queue}"
end
def key_for(job_info)
"#{queue_key}:#{job_info.key}"
end
\ No newline at end of file