lib/sidekiq/hierarchy/job.rb in sidekiq-hierarchy-1.0.0 vs lib/sidekiq/hierarchy/job.rb in sidekiq-hierarchy-1.1.0
- old
+ new
@@ -1,8 +1,10 @@
module Sidekiq
module Hierarchy
class Job
+ include RedisConnection
+
# Job hash keys
INFO_FIELD = 'i'.freeze
PARENT_FIELD = 'p'.freeze
STATUS_FIELD = 's'.freeze
WORKFLOW_STATUS_FIELD = 'w'.freeze
@@ -23,20 +25,19 @@
### Class definition
attr_reader :jid
- def initialize(jid, redis_pool=nil)
+ def initialize(jid)
@jid = jid
- @redis_pool = redis_pool
end
class << self
alias_method :find, :new
- def create(jid, job_hash, redis_pool=nil)
- new(jid, redis_pool).tap do |job|
+ def create(jid, job_hash)
+ new(jid).tap do |job|
job[INFO_FIELD] = Sidekiq.dump_json(filtered_job_hash(job_hash))
end
end
# saves INFO_KEYS as well as whatever keys are specified
@@ -52,25 +53,21 @@
children.each(&:delete)
redis { |conn| conn.del(redis_children_lkey, redis_job_hkey) }
end
def exists?
- redis do |conn|
- conn.exists(redis_job_hkey)
- end
+ redis { |conn| conn.exists(redis_job_hkey) }
end
def ==(other_job)
other_job.instance_of?(self.class) &&
self.jid == other_job.jid
end
# Magic getter backed by redis hash
def [](key)
- redis do |conn|
- conn.hget(redis_job_hkey, key)
- end
+ redis { |conn| conn.hget(redis_job_hkey, key) }
end
# Magic setter backed by redis hash
def []=(key, value)
redis do |conn|
@@ -89,17 +86,17 @@
### Tree exploration and manipulation
def parent
if parent_jid = self[PARENT_FIELD]
- self.class.find(parent_jid, @redis_pool)
+ self.class.find(parent_jid)
end
end
def children
redis do |conn|
- conn.lrange(redis_children_lkey, 0, -1).map { |jid| self.class.find(jid, @redis_pool) }
+ conn.lrange(redis_children_lkey, 0, -1).map { |jid| self.class.find(jid) }
end
end
def root?
parent.nil?
@@ -274,17 +271,8 @@
end
def redis_children_lkey
"#{redis_job_hkey}:children"
end
-
- def redis(&blk)
- if @redis_pool
- @redis_pool.with(&blk)
- else
- Sidekiq.redis(&blk)
- end
- end
- private :redis
end
end
end