resque-pause 0.0.4 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: fa53cc76d2dea849b41cb3af8e9e3c855bbe64e9
4
+ data.tar.gz: 5988024024f1cbc5281d237993a709aab47668ca
5
+ SHA512:
6
+ metadata.gz: d2dccaec7ed9e26b9f61a8c47732a9b82e3ed90e67814655d10241a14b856372b2856b5c24f5f8e26c947cf132618feff8e70217e7b87f7abd5039b60940790f
7
+ data.tar.gz: a9efbe8ed2763e602bd37c09241fd1721e396586fb473383587d2dabc7609f0f4aa39084807946ed3eddb78e34abbad8c6530533dd3be555ecd2f297c838b178
@@ -0,0 +1,5 @@
1
+ rvm:
2
+ - 1.9.2
3
+ - 1.9.3
4
+ - 2.0.0
5
+ - 2.1.2
data/Gemfile CHANGED
@@ -3,12 +3,14 @@ source "http://rubygems.org"
3
3
  # Specify your gem's dependencies in resque-pause.gemspec
4
4
  gemspec
5
5
 
6
+ gem "rake"
7
+
6
8
  group :test, :development do
7
- platforms :mri_18 do
8
- gem "ruby-debug"
9
+ platforms :mri_19, :mri_20 do
10
+ gem "debugger"
9
11
  end
10
12
 
11
- platforms :mri_19 do
12
- gem "ruby-debug19", :require => 'ruby-debug' if RUBY_VERSION < "1.9.3"
13
+ platforms :mri_21 do
14
+ gem "byebug"
13
15
  end
14
16
  end
@@ -1,73 +1,75 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- resque-pause (0.0.4)
4
+ resque-pause (0.1.0)
5
+ multi_json (~> 1.0)
5
6
  resque (>= 1.9.10)
6
7
 
7
8
  GEM
8
9
  remote: http://rubygems.org/
9
10
  specs:
10
- archive-tar-minitar (0.5.2)
11
- columnize (0.3.3)
12
- diff-lcs (1.1.2)
13
- json_pure (1.4.6)
14
- linecache (0.46)
15
- rbx-require-relative (> 0.0.4)
16
- linecache19 (0.5.12)
17
- ruby_core_source (>= 0.1.4)
18
- rack (1.3.0)
19
- rack-test (0.6.0)
11
+ byebug (3.2.0)
12
+ columnize (~> 0.8)
13
+ debugger-linecache (~> 1.2)
14
+ columnize (0.8.9)
15
+ debugger (1.6.8)
16
+ columnize (>= 0.3.1)
17
+ debugger-linecache (~> 1.2.0)
18
+ debugger-ruby_core_source (~> 1.3.5)
19
+ debugger-linecache (1.2.0)
20
+ debugger-ruby_core_source (1.3.5)
21
+ diff-lcs (1.2.5)
22
+ docile (1.1.5)
23
+ mono_logger (1.1.0)
24
+ multi_json (1.10.1)
25
+ rack (1.5.2)
26
+ rack-protection (1.5.3)
27
+ rack
28
+ rack-test (0.6.2)
20
29
  rack (>= 1.0)
21
- rbx-require-relative (0.0.5)
22
- redis (2.2.1)
23
- redis-namespace (0.8.0)
24
- redis (< 3.0.0)
25
- resque (1.9.10)
26
- json_pure (~> 1.4.0)
27
- redis-namespace (~> 0.8.0)
30
+ rake (10.3.2)
31
+ redis (3.1.0)
32
+ redis-namespace (1.5.1)
33
+ redis (~> 3.0, >= 3.0.4)
34
+ resque (1.25.2)
35
+ mono_logger (~> 1.0)
36
+ multi_json (~> 1.0)
37
+ redis-namespace (~> 1.3)
28
38
  sinatra (>= 0.9.2)
29
39
  vegas (~> 0.1.2)
30
- rspec (2.6.0)
31
- rspec-core (~> 2.6.0)
32
- rspec-expectations (~> 2.6.0)
33
- rspec-mocks (~> 2.6.0)
34
- rspec-core (2.6.4)
35
- rspec-expectations (2.6.0)
36
- diff-lcs (~> 1.1.2)
37
- rspec-mocks (2.6.0)
38
- ruby-debug (0.10.4)
39
- columnize (>= 0.1)
40
- ruby-debug-base (~> 0.10.4.0)
41
- ruby-debug-base (0.10.4)
42
- linecache (>= 0.3)
43
- ruby-debug-base19 (0.11.25)
44
- columnize (>= 0.3.1)
45
- linecache19 (>= 0.5.11)
46
- ruby_core_source (>= 0.1.4)
47
- ruby-debug19 (0.11.6)
48
- columnize (>= 0.3.1)
49
- linecache19 (>= 0.5.11)
50
- ruby-debug-base19 (>= 0.11.19)
51
- ruby_core_source (0.1.5)
52
- archive-tar-minitar (>= 0.5.2)
53
- simplecov (0.4.2)
54
- simplecov-html (~> 0.4.4)
55
- simplecov-html (0.4.5)
56
- sinatra (1.2.6)
57
- rack (~> 1.1)
58
- tilt (>= 1.2.2, < 2.0)
59
- tilt (1.3.2)
60
- vegas (0.1.8)
40
+ rspec (3.0.0)
41
+ rspec-core (~> 3.0.0)
42
+ rspec-expectations (~> 3.0.0)
43
+ rspec-mocks (~> 3.0.0)
44
+ rspec-core (3.0.3)
45
+ rspec-support (~> 3.0.0)
46
+ rspec-expectations (3.0.3)
47
+ diff-lcs (>= 1.2.0, < 2.0)
48
+ rspec-support (~> 3.0.0)
49
+ rspec-mocks (3.0.3)
50
+ rspec-support (~> 3.0.0)
51
+ rspec-support (3.0.3)
52
+ simplecov (0.9.0)
53
+ docile (~> 1.1.0)
54
+ multi_json
55
+ simplecov-html (~> 0.8.0)
56
+ simplecov-html (0.8.0)
57
+ sinatra (1.4.5)
58
+ rack (~> 1.4)
59
+ rack-protection (~> 1.4)
60
+ tilt (~> 1.3, >= 1.3.4)
61
+ tilt (1.4.1)
62
+ vegas (0.1.11)
61
63
  rack (>= 1.0.0)
62
64
 
63
65
  PLATFORMS
64
66
  ruby
65
67
 
66
68
  DEPENDENCIES
69
+ byebug
70
+ debugger
67
71
  rack-test
68
- resque (>= 1.9.10)
72
+ rake
69
73
  resque-pause!
70
74
  rspec (>= 2.3.0)
71
- ruby-debug
72
- ruby-debug19
73
75
  simplecov (>= 0.4.2)
data/LICENSE ADDED
@@ -0,0 +1,20 @@
1
+ Copyright (c) Wandenberg Peixoto (wandenberg@gmail.com)
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md CHANGED
@@ -1,5 +1,8 @@
1
- Resque Pause
2
- ============
1
+ # Resque Pause [![alt build status][1]][2]
2
+
3
+ [1]: https://secure.travis-ci.org/wandenberg/resque-pause.png
4
+ [2]: http://travis-ci.org/#!/wandenberg/resque-pause
5
+
3
6
 
4
7
  A [Resque][rq] plugin. Requires Resque 1.9.10.
5
8
 
data/Rakefile CHANGED
@@ -5,3 +5,5 @@ require "rspec/core/rake_task"
5
5
 
6
6
  desc "Run all examples"
7
7
  RSpec::Core::RakeTask.new(:spec)
8
+
9
+ task :default => :spec
@@ -1,7 +1,6 @@
1
1
  module Resque
2
2
  module Plugins
3
3
  module Pause
4
- include Resque::Helpers
5
4
  PAUSE_CHECK_INTERVAL = 10 #seconds to wait when queue is paused
6
5
 
7
6
  def before_perform_pause(*args)
@@ -6,7 +6,6 @@ require File.expand_path(File.join('../','resque_pause_helper'), File.dirname(__
6
6
  # Structure has been borrowed from ResqueScheduler.
7
7
  module ResquePause
8
8
  module Server
9
- include Resque::Helpers
10
9
 
11
10
  def self.erb_path(filename)
12
11
  File.join(File.dirname(__FILE__), 'server', 'views', filename)
@@ -43,7 +42,7 @@ module ResquePause
43
42
  end
44
43
  end
45
44
  content_type :json
46
- encode(:queue_name => params['queue_name'], :paused => pause)
45
+ ResquePauseHelper.encode(:queue_name => params['queue_name'], :paused => pause)
47
46
  end
48
47
 
49
48
  get /pause\/public\/([a-z]+\.[a-z]+)/ do
@@ -1,3 +1,13 @@
1
+ require 'multi_json'
2
+
3
+ # OkJson won't work because it doesn't serialize symbols
4
+ # in the same way yajl and json do.
5
+ if MultiJson.respond_to?(:adapter)
6
+ raise "Please install the yajl-ruby or json gem" if MultiJson.adapter.to_s == 'MultiJson::Adapters::OkJson'
7
+ elsif MultiJson.respond_to?(:engine)
8
+ raise "Please install the yajl-ruby or json gem" if MultiJson.engine.to_s == 'MultiJson::Engines::OkJson'
9
+ end
10
+
1
11
  module ResquePauseHelper
2
12
  class << self
3
13
  def paused?(queue)
@@ -13,11 +23,7 @@ module ResquePauseHelper
13
23
  end
14
24
 
15
25
  def enqueue_job(args)
16
- Resque.redis.lpush("queue:#{args[:queue]}", Resque.encode(:class => args[:class].to_s, :args => args[:args]))
17
- end
18
-
19
- def dequeue_job(args)
20
- Resque.redis.lpop("queue:#{args[:queue]}")
26
+ Resque.redis.lpush("queue:#{args[:queue]}", ResquePauseHelper.encode(:class => args[:class].to_s, :args => args[:args]))
21
27
  end
22
28
 
23
29
  def check_paused(args)
@@ -26,5 +32,14 @@ module ResquePauseHelper
26
32
  raise Resque::Job::DontPerform.new "Queue #{args[:queue]} is paused!"
27
33
  end
28
34
  end
35
+
36
+ # Given a Ruby object, returns a string suitable for storage in a queue.
37
+ def encode(object)
38
+ if MultiJson.respond_to?(:dump) && MultiJson.respond_to?(:load)
39
+ MultiJson.dump object
40
+ else
41
+ MultiJson.encode object
42
+ end
43
+ end
29
44
  end
30
45
  end
@@ -1,7 +1,7 @@
1
1
  module Resque
2
2
  module Plugins
3
3
  module Pause
4
- VERSION = "0.0.4"
4
+ VERSION = "0.1.0"
5
5
  end
6
6
  end
7
7
  end
@@ -26,6 +26,7 @@ You can use this functionality to do some maintenance whithout kill workers, for
26
26
  s.has_rdoc = false
27
27
 
28
28
  s.add_dependency('resque', '>= 1.9.10')
29
+ s.add_dependency('multi_json', '~> 1.0')
29
30
 
30
31
  s.add_development_dependency('rspec', '>= 2.3.0')
31
32
  s.add_development_dependency('rack-test')
@@ -6,7 +6,7 @@ daemonize yes
6
6
 
7
7
  # When run as a daemon, Redis write a pid file in /var/run/redis.pid by default.
8
8
  # You can specify a custom pid file location here.
9
- pidfile ./spec/redis-test.pid
9
+ pidfile redis-test.pid
10
10
 
11
11
  # Accept connections on the specified port, default is 6379
12
12
  port 9736
@@ -106,10 +106,3 @@ databases 16
106
106
  # errors for write operations, and this may even lead to DB inconsistency.
107
107
 
108
108
  # maxmemory <bytes>
109
-
110
- ############################### ADVANCED CONFIG ###############################
111
-
112
- # Glue small output buffers together in order to send small replies in a
113
- # single TCP packet. Uses a bit more CPU but most of the times it is a win
114
- # in terms of number of queries per second. Use 'yes' if unsure.
115
- glueoutputbuf yes
@@ -15,35 +15,35 @@ describe Resque::Plugins::Pause do
15
15
 
16
16
  it "should use at least resque version 1.9.10" do
17
17
  major, minor, patch = Resque::Version.split('.')
18
- major.to_i.should == 1
19
- minor.to_i.should >= 9
20
- patch.to_i.should >= 10 if minor.to_i == 9
18
+ expect(major.to_i).to eq(1)
19
+ expect(minor.to_i).to be >= 9
20
+ expect(patch.to_i).to be >= 10 if minor.to_i == 9
21
21
  end
22
22
 
23
23
  it "should execute the job when queue is not paused" do
24
24
  Resque.enqueue(PauseJob)
25
- PauseJob.should_receive(:perform)
25
+ expect(PauseJob).to receive(:perform)
26
26
 
27
27
  Resque.reserve('test').perform
28
28
  end
29
29
 
30
30
  it "should not execute the job when queue is paused" do
31
31
  Resque.enqueue(PauseJob)
32
- Resque.size('test').should == 1
32
+ expect(Resque.size('test')).to eq(1)
33
33
 
34
34
  job = Resque.reserve('test')
35
35
  ResquePauseHelper.pause('test')
36
36
  job.perform
37
37
 
38
- Resque.size('test').should == 1
38
+ expect(Resque.size('test')).to eq(1)
39
39
  end
40
40
 
41
41
  it "should not reserve the job when queue is paused" do
42
42
  ResquePauseHelper.pause('test')
43
43
  Resque.enqueue(PauseJob)
44
- PauseJob.should_not_receive(:perform)
44
+ expect(PauseJob).not_to receive(:perform)
45
45
 
46
- Resque.reserve('test').should be_nil
46
+ expect(Resque.reserve('test')).to be_nil
47
47
  end
48
48
 
49
49
  it "should not change queued jobs when queue is paused" do
@@ -57,7 +57,7 @@ describe Resque::Plugins::Pause do
57
57
  job.perform
58
58
 
59
59
  remaining_jobs = Resque.redis.lrange('queue:test', 0, 2)
60
- jobs.should == remaining_jobs
60
+ expect(jobs).to eq(remaining_jobs)
61
61
  end
62
62
 
63
63
  it "should back to execute the job when queue is unpaused" do
@@ -66,11 +66,11 @@ describe Resque::Plugins::Pause do
66
66
  job = Resque.reserve('test')
67
67
  ResquePauseHelper.pause('test')
68
68
  job.perform
69
- Resque.size('test').should == 1
69
+ expect(Resque.size('test')).to eq(1)
70
70
 
71
71
  ResquePauseHelper.unpause('test')
72
72
  Resque.reserve('test').perform
73
- Resque.size('test').should == 0
73
+ expect(Resque.size('test')).to eq(0)
74
74
  end
75
75
 
76
76
  end
@@ -18,56 +18,56 @@ describe ResquePause::Server do
18
18
 
19
19
  it "should respond to /pause" do
20
20
  get '/pause'
21
- last_response.should be_ok
21
+ expect(last_response).to be_ok
22
22
  end
23
23
 
24
24
  it "should list all registered queues" do
25
25
  get '/pause'
26
- last_response.body.should include("queue1")
27
- last_response.body.should include("queue2")
28
- last_response.body.should include("queue3")
26
+ expect(last_response.body).to include("queue1")
27
+ expect(last_response.body).to include("queue2")
28
+ expect(last_response.body).to include("queue3")
29
29
  end
30
30
 
31
31
  it "should check paused queues" do
32
32
  ResquePauseHelper.pause("queue2")
33
33
 
34
34
  get '/pause'
35
- last_response.body.should include(%q{<input class="pause" type="checkbox" value="queue1" ></input>})
36
- last_response.body.should include(%q{<input class="pause" type="checkbox" value="queue2" checked></input>})
37
- last_response.body.should include(%q{<input class="pause" type="checkbox" value="queue3" ></input>})
35
+ expect(last_response.body).to include(%q{<input class="pause" type="checkbox" value="queue1" ></input>})
36
+ expect(last_response.body).to include(%q{<input class="pause" type="checkbox" value="queue2" checked></input>})
37
+ expect(last_response.body).to include(%q{<input class="pause" type="checkbox" value="queue3" ></input>})
38
38
  end
39
39
 
40
40
 
41
41
  it "should pause a queue" do
42
42
  post "/pause", :queue_name => "queue3", :pause => true
43
43
 
44
- ResquePauseHelper.paused?("queue3").should be_true
44
+ expect(ResquePauseHelper.paused?("queue3")).to be_truthy
45
45
  end
46
46
 
47
47
  it "should return a json when pause a queue" do
48
48
  post "/pause", :queue_name => "queue3", :pause => true
49
49
 
50
- last_response.headers["Content-Type"].should == "application/json"
51
- last_response.body.should == { :queue_name => "queue3", :paused => true }.to_json
50
+ expect(last_response.headers["Content-Type"]).to eq("application/json")
51
+ expect(last_response.body).to eq({ :queue_name => "queue3", :paused => true }.to_json)
52
52
  end
53
53
 
54
54
  it "should unpause a queue" do
55
55
  ResquePauseHelper.pause("queue2")
56
56
  post "/pause", :queue_name => "queue2", :pause => false
57
57
 
58
- ResquePauseHelper.paused?("queue2").should be_false
58
+ expect(ResquePauseHelper.paused?("queue2")).to be_falsey
59
59
  end
60
60
 
61
61
  it "should return a json when unpause a queue" do
62
62
  post "/pause", :queue_name => "queue2", :pause => false
63
63
 
64
- last_response.headers["Content-Type"].should == "application/json"
65
- last_response.body.should == { :queue_name => "queue2", :paused => false }.to_json
64
+ expect(last_response.headers["Content-Type"]).to eq("application/json")
65
+ expect(last_response.body).to eq({ :queue_name => "queue2", :paused => false }.to_json)
66
66
  end
67
67
 
68
68
  it "should return static files" do
69
69
  get "/pause/public/pause.js"
70
- last_response.body.should == File.read(File.expand_path('../lib/resque-pause/server/public/pause.js', File.dirname(__FILE__)))
70
+ expect(last_response.body).to eq(File.read(File.expand_path('../lib/resque-pause/server/public/pause.js', File.dirname(__FILE__))))
71
71
  end
72
72
 
73
73
  end
@@ -13,13 +13,13 @@ describe ResquePauseHelper do
13
13
  it "should return return false if don't have register on redis" do
14
14
  Resque.redis.del "pause:queue:queue1"
15
15
 
16
- subject.paused?("queue1").should be_false
16
+ expect(subject.paused?("queue1")).to be_falsey
17
17
  end
18
18
 
19
19
  it "should return return true if have register on redis" do
20
20
  Resque.redis.set "pause:queue:queue1", "AnyValue"
21
21
 
22
- subject.paused?("queue1").should be_true
22
+ expect(subject.paused?("queue1")).to be_truthy
23
23
  end
24
24
  end
25
25
 
@@ -28,15 +28,15 @@ describe ResquePauseHelper do
28
28
  Resque.redis.del "pause:queue:queue1"
29
29
  subject.pause("queue1")
30
30
 
31
- subject.paused?("queue1").should be_true
31
+ expect(subject.paused?("queue1")).to be_truthy
32
32
  end
33
33
 
34
34
  it "should register again a registred queue" do
35
35
  Resque.redis.set "pause:queue:queue1", "AnyValue"
36
36
  expect { subject.pause("queue1") }.to_not raise_error
37
37
 
38
- Resque.redis.get("pause:queue:queue1").should_not be_nil
39
- Resque.redis.get("pause:queue:queue1").should be_true
38
+ expect(Resque.redis.get("pause:queue:queue1")).not_to be_nil
39
+ expect(Resque.redis.get("pause:queue:queue1")).to be_truthy
40
40
  end
41
41
  end
42
42
 
@@ -45,14 +45,14 @@ describe ResquePauseHelper do
45
45
  Resque.redis.del "pause:queue:queue1"
46
46
  subject.unpause("queue1")
47
47
 
48
- subject.paused?("queue1").should be_false
48
+ expect(subject.paused?("queue1")).to be_falsey
49
49
  end
50
50
 
51
51
  it "should unregister a registred queue" do
52
52
  Resque.redis.set "pause:queue:queue1", "AnyValue"
53
53
  expect { subject.unpause("queue1") }.to_not raise_error
54
54
 
55
- Resque.redis.get("pause:queue:queue1").should be_nil
55
+ expect(Resque.redis.get("pause:queue:queue1")).to be_nil
56
56
  end
57
57
  end
58
58
 
@@ -62,7 +62,7 @@ describe ResquePauseHelper do
62
62
 
63
63
  subject.enqueue_job(:queue => "queue1", :class => PauseJob, :args => nil)
64
64
 
65
- Resque.redis.llen("queue:queue1").to_i.should == 1
65
+ expect(Resque.redis.llen("queue:queue1").to_i).to eq(1)
66
66
  end
67
67
 
68
68
  it "should enqueue on beginning of a queue" do
@@ -72,55 +72,37 @@ describe ResquePauseHelper do
72
72
 
73
73
  jobs = Resque.redis.lrange('queue:queue1', 0, 10)
74
74
 
75
- jobs.count.should == 2
76
- jobs[0].should == {:class => PauseJob, :args => [1]}.to_json
77
- jobs[1].should == {:class => PauseJob, :args => [1, 2]}.to_json
78
- end
79
- end
80
-
81
- context "when dequeue a job" do
82
- it "should not get error when queue is empty" do
83
- Resque.redis.del "queue:queue1"
84
-
85
- expect { subject.dequeue_job(:queue => "queue1") }.to_not raise_error
86
-
87
- subject.dequeue_job(:queue => "queue1").should be_nil
88
- end
89
-
90
- it "should get the job on beginning of a queue" do
91
- Resque.redis.lpush "queue:queue1", {:class => PauseJob, :args => [1, 2]}.to_json
92
- Resque.redis.lpush "queue:queue1", {:class => PauseJob, :args => [1]}.to_json
93
-
94
- job = subject.dequeue_job(:queue => "queue1")
95
- job.should == {:class => PauseJob, :args => [1]}.to_json
75
+ expect(jobs.count).to eq(2)
76
+ expect(jobs[0]).to eq({:class => PauseJob, :args => [1]}.to_json)
77
+ expect(jobs[1]).to eq({:class => PauseJob, :args => [1, 2]}.to_json)
96
78
  end
97
79
  end
98
80
 
99
81
  context "when checking if queue is paused" do
100
82
  it "should check if queue is paused" do
101
- subject.should_receive(:paused?).with("queue1")
83
+ expect(subject).to receive(:paused?).with("queue1")
102
84
 
103
85
  subject.check_paused(:queue => "queue1")
104
86
  end
105
87
 
106
88
  it "should not raise error when queue is not paused" do
107
- subject.should_receive(:paused?).with("queue1").and_return(false)
89
+ expect(subject).to receive(:paused?).with("queue1").and_return(false)
108
90
 
109
91
  expect { subject.check_paused(:queue => "queue1") }.to_not raise_error
110
92
  end
111
93
 
112
94
  it "should raise error when queue is paused" do
113
- subject.stub!(:enqueue_job)
114
- subject.stub!(:paused?).with("queue1").and_return(true)
95
+ allow(subject).to receive(:enqueue_job)
96
+ allow(subject).to receive(:paused?).with("queue1").and_return(true)
115
97
 
116
98
  expect { subject.check_paused(:queue => "queue1") }.to raise_error(Resque::Job::DontPerform)
117
99
  end
118
100
 
119
101
  it "should enqueue the job again when queue is paused" do
120
- subject.stub!(:paused?).with("queue1").and_return(true)
102
+ allow(subject).to receive(:paused?).with("queue1").and_return(true)
121
103
 
122
104
  args = {:queue => "queue1", :class => PauseJob, :args => [1, 2]}
123
- subject.should_receive(:enqueue_job).with(args)
105
+ expect(subject).to receive(:enqueue_job).with(args)
124
106
 
125
107
  subject.check_paused(args) rescue nil
126
108
  end
@@ -41,25 +41,29 @@ RSpec.configure do |config|
41
41
  # config.mock_with :rr
42
42
  config.mock_with :rspec
43
43
 
44
+ config.order = "random"
45
+
44
46
  config.before(:suite) do
45
- puts "Starting redis for testing at localhost:9736..."
47
+ puts '', 'Starting redis for testing at localhost:9736...', ''
48
+ FileUtils.rm_f('spec/redis-test.pid')
46
49
  `redis-server #{File.dirname(File.expand_path(__FILE__))}/redis-test.conf`
47
50
  pid = ''
48
51
  while pid.empty? do
49
- pid = `ps -e -o pid,command | grep [r]edis-test`.split(" ")[0]
52
+ pid = File.read('spec/redis-test.pid').chomp rescue ''
50
53
  end
51
54
  Resque.redis = '127.0.0.1:9736'
52
55
  end
53
56
 
54
57
  config.before(:each) do
55
58
  Resque.redis.flushall
56
- Kernel.stub!(:sleep)
59
+ allow(Kernel).to receive(:sleep)
57
60
  end
58
61
 
59
62
  config.after(:suite) do
60
- pid = `ps -e -o pid,command | grep [r]edis-test`.split(" ")[0]
61
- puts '', "Killing test redis server..."
62
- Process.kill("KILL", pid.to_i)
63
- `rm -f #{File.dirname(File.expand_path(__FILE__))}/dump.rdb`
63
+ pid = File.read('spec/redis-test.pid').chomp rescue ''
64
+ puts '', '', 'Killing test redis server...'
65
+ Process.kill('KILL', pid.to_i)
66
+ FileUtils.rm_f('spec/redis-test.pid')
67
+ FileUtils.rm_f('spec/dumb.rdb')
64
68
  end
65
69
  end
metadata CHANGED
@@ -1,100 +1,104 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: resque-pause
3
- version: !ruby/object:Gem::Version
4
- prerelease: false
5
- segments:
6
- - 0
7
- - 0
8
- - 4
9
- version: 0.0.4
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
10
5
  platform: ruby
11
- authors:
6
+ authors:
12
7
  - Wandenberg Peixoto
13
8
  autorequire:
14
9
  bindir: bin
15
10
  cert_chain: []
16
-
17
- date: 2011-06-30 00:00:00 -03:00
18
- default_executable:
19
- dependencies:
20
- - !ruby/object:Gem::Dependency
11
+ date: 2014-08-23 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
21
14
  name: resque
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - '>='
18
+ - !ruby/object:Gem::Version
19
+ version: 1.9.10
20
+ type: :runtime
22
21
  prerelease: false
23
- requirement: &id001 !ruby/object:Gem::Requirement
24
- none: false
25
- requirements:
26
- - - ">="
27
- - !ruby/object:Gem::Version
28
- segments:
29
- - 1
30
- - 9
31
- - 10
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - '>='
25
+ - !ruby/object:Gem::Version
32
26
  version: 1.9.10
27
+ - !ruby/object:Gem::Dependency
28
+ name: multi_json
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ~>
32
+ - !ruby/object:Gem::Version
33
+ version: '1.0'
33
34
  type: :runtime
34
- version_requirements: *id001
35
- - !ruby/object:Gem::Dependency
36
- name: rspec
37
35
  prerelease: false
38
- requirement: &id002 !ruby/object:Gem::Requirement
39
- none: false
40
- requirements:
41
- - - ">="
42
- - !ruby/object:Gem::Version
43
- segments:
44
- - 2
45
- - 3
46
- - 0
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ~>
39
+ - !ruby/object:Gem::Version
40
+ version: '1.0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rspec
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - '>='
46
+ - !ruby/object:Gem::Version
47
47
  version: 2.3.0
48
48
  type: :development
49
- version_requirements: *id002
50
- - !ruby/object:Gem::Dependency
51
- name: rack-test
52
49
  prerelease: false
53
- requirement: &id003 !ruby/object:Gem::Requirement
54
- none: false
55
- requirements:
56
- - - ">="
57
- - !ruby/object:Gem::Version
58
- segments:
59
- - 0
60
- version: "0"
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - '>='
53
+ - !ruby/object:Gem::Version
54
+ version: 2.3.0
55
+ - !ruby/object:Gem::Dependency
56
+ name: rack-test
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
61
62
  type: :development
62
- version_requirements: *id003
63
- - !ruby/object:Gem::Dependency
64
- name: simplecov
65
63
  prerelease: false
66
- requirement: &id004 !ruby/object:Gem::Requirement
67
- none: false
68
- requirements:
69
- - - ">="
70
- - !ruby/object:Gem::Version
71
- segments:
72
- - 0
73
- - 4
74
- - 2
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - '>='
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: simplecov
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - '>='
74
+ - !ruby/object:Gem::Version
75
75
  version: 0.4.2
76
76
  type: :development
77
- version_requirements: *id004
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - '>='
81
+ - !ruby/object:Gem::Version
82
+ version: 0.4.2
78
83
  description: |-
79
84
  A Resque plugin to add functionality to pause resque jobs through the web interface.
80
-
85
+
81
86
  Using a `pause` allows you to stop the job for a slice of time.
82
87
  The job finish the process it are doing and don't get a new task to do,
83
88
  until the queue is released.
84
89
  You can use this functionality to do some maintenance whithout kill workers, for example.
85
- email:
90
+ email:
86
91
  - wandenberg@gmail.com
87
92
  executables: []
88
-
89
93
  extensions: []
90
-
91
94
  extra_rdoc_files: []
92
-
93
- files:
95
+ files:
94
96
  - .gitignore
97
+ - .travis.yml
95
98
  - Changelog.md
96
99
  - Gemfile
97
100
  - Gemfile.lock
101
+ - LICENSE
98
102
  - README.md
99
103
  - Rakefile
100
104
  - lib/resque-pause.rb
@@ -111,37 +115,28 @@ files:
111
115
  - spec/resque-web_spec.rb
112
116
  - spec/resque_pause_helper_spec.rb
113
117
  - spec/spec_helper.rb
114
- has_rdoc: true
115
- homepage: ""
118
+ homepage: ''
116
119
  licenses: []
117
-
120
+ metadata: {}
118
121
  post_install_message:
119
122
  rdoc_options: []
120
-
121
- require_paths:
123
+ require_paths:
122
124
  - lib
123
- required_ruby_version: !ruby/object:Gem::Requirement
124
- none: false
125
- requirements:
126
- - - ">="
127
- - !ruby/object:Gem::Version
128
- segments:
129
- - 0
130
- version: "0"
131
- required_rubygems_version: !ruby/object:Gem::Requirement
132
- none: false
133
- requirements:
134
- - - ">="
135
- - !ruby/object:Gem::Version
136
- segments:
137
- - 0
138
- version: "0"
125
+ required_ruby_version: !ruby/object:Gem::Requirement
126
+ requirements:
127
+ - - '>='
128
+ - !ruby/object:Gem::Version
129
+ version: '0'
130
+ required_rubygems_version: !ruby/object:Gem::Requirement
131
+ requirements:
132
+ - - '>='
133
+ - !ruby/object:Gem::Version
134
+ version: '0'
139
135
  requirements: []
140
-
141
136
  rubyforge_project: resque-pause
142
- rubygems_version: 1.3.7
137
+ rubygems_version: 2.2.2
143
138
  signing_key:
144
- specification_version: 3
145
- summary: A Resque plugin to add functionality to pause resque jobs through the web interface.
139
+ specification_version: 4
140
+ summary: A Resque plugin to add functionality to pause resque jobs through the web
141
+ interface.
146
142
  test_files: []
147
-