Skip to content

Commit

Permalink
Clean up whitespace
Browse files Browse the repository at this point in the history
  • Loading branch information
hakanensari committed Apr 4, 2011
1 parent d143fc2 commit 58c4faf
Show file tree
Hide file tree
Showing 6 changed files with 55 additions and 54 deletions.
12 changes: 6 additions & 6 deletions lib/resque-ext/job.rb
Expand Up @@ -5,8 +5,8 @@
#
module Resque
class Job


#
# Overwriting original create method to mark an item as queued
# after Resque::Job.create has called Resque.push
Expand All @@ -18,7 +18,7 @@ def self.create_with_loner(queue, klass, *args)
Resque::Plugins::Loner::Helpers.mark_loner_as_queued(queue, item)
job
end

#
# Overwriting original reserve method to mark an item as unqueued
#
Expand All @@ -27,7 +27,7 @@ def self.reserve_with_loner(queue)
Resque::Plugins::Loner::Helpers.mark_loner_as_unqueued( queue, item ) if item
item
end

#
# Overwriting original destroy method to mark all destroyed jobs as unqueued.
# Because the original method only returns the amount of jobs destroyed, but not
Expand All @@ -38,7 +38,7 @@ def self.destroy_with_loner(queue, klass, *args)
Resque::Plugins::Loner::Helpers.job_destroy(queue, klass, *args)
destroy_without_loner(queue, klass, *args)
end

#
# Chain..
#
Expand All @@ -51,4 +51,4 @@ class << self
alias_method :destroy, :destroy_with_loner
end
end
end
end
22 changes: 11 additions & 11 deletions lib/resque-ext/resque.rb
@@ -1,37 +1,37 @@
module Resque

#
# Why force one job type into one queue?
#
def self.enqueue_to( queue, klass, *args )
Job.create(queue, klass, *args)
end

def self.dequeue_from( queue, klass, *args)
Job.destroy(queue, klass, *args)
end

def self.enqueued?( klass, *args)
enqueued_in?(queue_from_class(klass), klass, *args )
end

def self.enqueued_in?(queue, klass, *args)
item = { :class => klass.to_s, :args => args }
return nil unless Resque::Plugins::Loner::Helpers.item_is_a_unique_job?(item)
Resque::Plugins::Loner::Helpers.loner_queued?(queue, item)
end

def self.remove_queue_with_loner_cleanup(queue)
self.remove_queue_without_loner_cleanup(queue)
Resque::Plugins::Loner::Helpers.cleanup_loners(queue)
end


class << self

alias_method :remove_queue_without_loner_cleanup, :remove_queue
alias_method :remove_queue, :remove_queue_with_loner_cleanup

end
end

end
10 changes: 5 additions & 5 deletions lib/resque-loner/helpers.rb
Expand Up @@ -8,7 +8,7 @@ def self.loner_queued?(queue, item)
return false unless item_is_a_unique_job?(item)
redis.get(unique_job_queue_key(queue, item)) == "1"
end

def self.mark_loner_as_queued(queue, item)
return unless item_is_a_unique_job?(item)
redis.set(unique_job_queue_key(queue, item), 1)
Expand All @@ -24,7 +24,7 @@ def self.unique_job_queue_key(queue, item)
job_key = constantize(item[:class] || item["class"]).redis_key(item)
"loners:queue:#{queue}:job:#{job_key}"
end

def self.item_is_a_unique_job?(item)
begin
klass = constantize(item[:class] || item["class"])
Expand All @@ -33,7 +33,7 @@ def self.item_is_a_unique_job?(item)
false # Resque testsuite also submits strings as job classes while Resque.enqueue'ing,
end # so resque-loner should not start throwing up when that happens.
end

def self.job_destroy(queue, klass, *args)
klass = klass.to_s
redis_queue = "queue:#{queue}"
Expand All @@ -49,11 +49,11 @@ def self.job_destroy(queue, klass, *args)
end
end
end

def self.cleanup_loners(queue)
redis.del(*redis.keys("loners:queue:#{queue}:job:*"))
end

end
end
end
Expand Down
13 changes: 7 additions & 6 deletions lib/resque-loner/unique_job.rb
Expand Up @@ -7,16 +7,16 @@
module Resque
module Plugins
module UniqueJob

def self.included(base)
base.extend ClassMethods
base.class_eval do
base.send(:extend, Resque::Helpers)
end
end # self.included

module ClassMethods


#
# Payload is what Resque stored for this job along with the job's class name.
Expand All @@ -34,16 +34,17 @@ def redis_key(payload)
digest
end
end # ClassMethods


end
end
end

module Resque
module Plugins
module Loner
class UniqueJob

include Resque::Plugins::UniqueJob

def self.inherited(host)
Expand Down
12 changes: 6 additions & 6 deletions resque-loner.gemspec
@@ -1,9 +1,9 @@
# -*- encoding: utf-8 -*-
lib = File.expand_path('../lib/', __FILE__)
$:.unshift lib unless $:.include?(lib)

require 'resque-loner/version'

Gem::Specification.new do |s|
s.name = "resque-loner"
s.version = Resque::Plugins::Loner::VERSION
Expand All @@ -13,11 +13,11 @@ Gem::Specification.new do |s|
s.homepage = "http://github.com/jayniz/resque-loner"
s.summary = "Adds unique jobs to resque"
s.has_rdoc = false

s.rubyforge_project = "resque-loner"
s.add_dependency 'resque', '~>1.0'
s.add_development_dependency "rspec"

s.files = Dir.glob("{lib}/**/*") + %w(README.markdown)
s.require_path = 'lib'

Expand All @@ -26,11 +26,11 @@ Makes sure that for special jobs, there can be only one job with the same worklo
Example:
class CacheSweeper
include Resque::Plugins::UniqueJob
@queue = :cache_sweeps
def self.perform(article_id)
# Cache Me If You Can...
end
Expand Down
40 changes: 20 additions & 20 deletions spec/loner_spec.rb
Expand Up @@ -12,7 +12,7 @@ class SomeJob
end

class SomeUniqueJob

include Resque::Plugins::UniqueJob

@queue = :other_queue
Expand Down Expand Up @@ -40,14 +40,14 @@ def self.perform(foo); end
Resque.size(:other_queue).should == 0
Resque.size(:some_queue).should == 0
end

describe "Jobs" do
it "can put multiple normal jobs on a queue" do
Resque.enqueue SomeJob, "foo"
Resque.enqueue SomeJob, "foo"
Resque.size(:some_queue).should == 2
end

it "only one of the same job sits in a queue" do
Resque.enqueue SomeUniqueJob, "foo"
Resque.enqueue SomeUniqueJob, "foo"
Expand All @@ -59,7 +59,7 @@ def self.perform(foo); end
Resque.enqueue DeprecatedUniqueJob, "foo"
Resque.size(:other_queue).should == 1
end

it "should allow the same jobs to be executed one after the other" do
Resque.enqueue SomeUniqueJob, "foo"
Resque.enqueue SomeUniqueJob, "foo"
Expand All @@ -72,19 +72,19 @@ def self.perform(foo); end
Resque.enqueue SomeUniqueJob, "foo"
Resque.size(:other_queue).should == 1
end

it "should be robust regarding hash attributes" do
Resque.enqueue SomeUniqueJob, :bar => 1, :foo => 2
Resque.enqueue SomeUniqueJob, :foo => 2, :bar => 1
Resque.size(:other_queue).should == 1
end

it "should be robust regarding hash attributes (JSON does not distinguish between string and symbol)" do
Resque.enqueue SomeUniqueJob, :bar => 1, :foo => 1
Resque.enqueue SomeUniqueJob, :bar => 1, "foo" => 1
Resque.size(:other_queue).should == 1
end

it "should mark jobs as unqueued, when Job.destroy is killing them" do
Resque.enqueue SomeUniqueJob, "foo"
Resque.enqueue SomeUniqueJob, "foo"
Expand All @@ -97,7 +97,7 @@ def self.perform(foo); end
Resque.enqueue SomeUniqueJob, "foo"
Resque.size(:other_queue).should == 1
end

it "should mark jobs as unqueued, when they raise an exception during #perform" do
Resque.enqueue( FailingUniqueJob, "foo" ).should == 1
Resque.enqueue( FailingUniqueJob, "foo" ).should == "EXISTED"
Expand All @@ -111,7 +111,7 @@ def self.perform(foo); end
Resque.enqueue( FailingUniqueJob, "foo" ).should == "EXISTED"
Resque.size(:other_queue).should == 1
end

it "should report if a job is queued or not" do
Resque.enqueue SomeUniqueJob, "foo"
Resque.enqueued?(SomeUniqueJob, "foo").should be_true
Expand All @@ -127,36 +127,36 @@ def self.perform(foo); end
it "should not be able to report if a non-unique job was enqueued" do
Resque.enqueued?(SomeJob).should be_nil
end

it "should cleanup all loners when a queue is destroyed" do
Resque.enqueue SomeUniqueJob, "foo"
Resque.enqueue FailingUniqueJob, "foo"

Resque.remove_queue(:other_queue)

Resque.enqueue(SomeUniqueJob, "foo").should == 1
end

end

describe "Queues" do

it "should allow for jobs to be queued in other queues than their default" do
Resque.enqueue_to :yet_another_queue, SomeJob, 22

Resque.size(:some_queue).should == 0
Resque.size(:yet_another_queue).should ==1
end

it "should allow for jobs to be dequeued from other queues than their default" do
Resque.enqueue_to :yet_another_queue, SomeJob, 22
Resque.enqueue SomeJob, 22

Resque.size(:yet_another_queue).should == 1
Resque.size(:some_queue).should == 1

Resque.dequeue_from :yet_another_queue, SomeJob, 22

Resque.size(:yet_another_queue).should == 0
Resque.size(:some_queue).should == 1
end
Expand Down

0 comments on commit 58c4faf

Please sign in to comment.