diff --git a/lib/sidekiq/cron/job.rb b/lib/sidekiq/cron/job.rb index bfc930a8..52e5644a 100644 --- a/lib/sidekiq/cron/job.rb +++ b/lib/sidekiq/cron/job.rb @@ -21,13 +21,15 @@ class Job # Crucial part of whole enqueuing job. def should_enque? time + return false unless status == "enabled" + return false unless not_past_scheduled_time?(time) + return false unless not_enqueued_after?(time) + enqueue = Sidekiq.redis do |conn| - status == "enabled" && - not_past_scheduled_time?(time) && - not_enqueued_after?(time) && - conn.zadd(job_enqueued_key, formatted_enqueue_time(time), formatted_last_time(time)) + conn.zadd(job_enqueued_key, formatted_enqueue_time(time), formatted_last_time(time)) end - enqueue == true || enqueue == 1 + + enqueue == 1 end # Remove previous information about run times, @@ -239,12 +241,11 @@ def self.count def self.find name # If name is hash try to get name from it. name = name[:name] || name['name'] if name.is_a?(Hash) + return unless exists? name output = nil Sidekiq.redis do |conn| - if exists? name - output = Job.new conn.hgetall( redis_key(name) ) - end + output = Job.new conn.hgetall( redis_key(name) ) end output if output && output.valid? end