sidekiq-unique-jobs 2.7.1 → 3.0.0
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of sidekiq-unique-jobs might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/.travis.yml +1 -0
- data/Appraisals +4 -0
- data/Gemfile +1 -1
- data/gemfiles/sidekiq_2.15.gemfile +2 -2
- data/gemfiles/sidekiq_2.16.gemfile +2 -2
- data/gemfiles/sidekiq_2.17.gemfile +2 -2
- data/gemfiles/sidekiq_3.0.gemfile +11 -0
- data/gemfiles/sidekiq_develop.gemfile +3 -3
- data/lib/sidekiq-unique-jobs/middleware/client/unique_jobs.rb +11 -4
- data/lib/sidekiq-unique-jobs/middleware/server/unique_jobs.rb +9 -3
- data/lib/sidekiq-unique-jobs/version.rb +1 -1
- data/sidekiq-unique-jobs.gemspec +4 -4
- data/spec/lib/unlock_order_spec.rb +1 -0
- data/spec/spec_helper.rb +0 -1
- metadata +9 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7f966944556a4eade8e0cd88092db81ce2aaf79f
|
4
|
+
data.tar.gz: 73ceb2cff924bedb9eb7aa20d50b594cabd582c1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0646749915775d78d40a01667f37642a0dcb6f9748cad2700b7e7957f39735631643b76024ef505363a433c1da305c157218a9bea80c6292344cbcebc9078a8a
|
7
|
+
data.tar.gz: 23ce922714c75e7c33caf45983bca4a103b75514cf78e90137c937dfbb894456391009ed3dd1911283a3728f85f86d58b2e4f282e82f675b6c32678a5b3a9522
|
data/.travis.yml
CHANGED
data/Appraisals
CHANGED
data/Gemfile
CHANGED
@@ -2,10 +2,10 @@
|
|
2
2
|
|
3
3
|
source "http://rubygems.org"
|
4
4
|
|
5
|
-
gem "appraisal", "~> 1.0.0
|
5
|
+
gem "appraisal", "~> 1.0.0"
|
6
6
|
gem "pry"
|
7
7
|
gem "pry-stack_explorer"
|
8
8
|
gem "pry-debugger"
|
9
|
-
gem "sidekiq", :github=>"mperham/sidekiq"
|
9
|
+
gem "sidekiq", :github => "mperham/sidekiq"
|
10
10
|
|
11
|
-
gemspec :path=>"
|
11
|
+
gemspec :path => "../"
|
@@ -4,9 +4,10 @@ module SidekiqUniqueJobs
|
|
4
4
|
module Middleware
|
5
5
|
module Client
|
6
6
|
class UniqueJobs
|
7
|
-
attr_reader :item, :worker_class
|
7
|
+
attr_reader :item, :worker_class, :redis_pool
|
8
8
|
|
9
|
-
def call(worker_class, item, queue)
|
9
|
+
def call(worker_class, item, queue, redis_pool = nil)
|
10
|
+
@redis_pool = redis_pool
|
10
11
|
@worker_class = worker_class_constantize(worker_class)
|
11
12
|
@item = item
|
12
13
|
|
@@ -21,8 +22,14 @@ module SidekiqUniqueJobs
|
|
21
22
|
if testing_enabled?
|
22
23
|
unique_for_connection?(SidekiqUniqueJobs.redis_mock)
|
23
24
|
else
|
24
|
-
|
25
|
-
|
25
|
+
if redis_pool
|
26
|
+
redis_pool.with do |conn|
|
27
|
+
unique_for_connection?(conn)
|
28
|
+
end
|
29
|
+
else
|
30
|
+
Sidekiq.redis do |conn|
|
31
|
+
unique_for_connection?(conn)
|
32
|
+
end
|
26
33
|
end
|
27
34
|
end
|
28
35
|
end
|
@@ -4,9 +4,11 @@ module SidekiqUniqueJobs
|
|
4
4
|
module Middleware
|
5
5
|
module Server
|
6
6
|
class UniqueJobs
|
7
|
-
attr_reader :unlock_order
|
7
|
+
attr_reader :unlock_order, :redis_pool
|
8
|
+
|
9
|
+
def call(worker, item, queue, redis_pool = nil)
|
10
|
+
@redis_pool = redis_pool
|
8
11
|
|
9
|
-
def call(worker, item, queue)
|
10
12
|
set_unlock_order(worker.class)
|
11
13
|
lock_key = payload_hash(item)
|
12
14
|
unlocked = before_yield? ? unlock(lock_key).inspect : 0
|
@@ -50,7 +52,11 @@ module SidekiqUniqueJobs
|
|
50
52
|
end
|
51
53
|
|
52
54
|
def unlock(payload_hash)
|
53
|
-
|
55
|
+
if redis_pool
|
56
|
+
redis_pool.with { |conn| conn.del(payload_hash) }
|
57
|
+
else
|
58
|
+
Sidekiq.redis { |conn| conn.del(payload_hash) }
|
59
|
+
end
|
54
60
|
end
|
55
61
|
|
56
62
|
def logger
|
data/sidekiq-unique-jobs.gemspec
CHANGED
@@ -5,7 +5,7 @@ Gem::Specification.new do |gem|
|
|
5
5
|
gem.authors = ["Mikael Henriksson"]
|
6
6
|
gem.email = ["mikael@zoolutions.se"]
|
7
7
|
gem.description = gem.summary = "The unique jobs that were removed from sidekiq"
|
8
|
-
gem.homepage = "
|
8
|
+
gem.homepage = "https://github.com/mhenrixon/sidekiq-unique-jobs"
|
9
9
|
gem.license = "LGPL-3.0"
|
10
10
|
|
11
11
|
# gem.executables = ['']
|
@@ -14,11 +14,11 @@ Gem::Specification.new do |gem|
|
|
14
14
|
gem.name = "sidekiq-unique-jobs"
|
15
15
|
gem.require_paths = ["lib"]
|
16
16
|
gem.version = SidekiqUniqueJobs::VERSION
|
17
|
-
gem.add_dependency 'sidekiq', '
|
17
|
+
gem.add_dependency 'sidekiq', '>= 2.6'
|
18
18
|
gem.add_dependency 'mock_redis'
|
19
19
|
gem.add_development_dependency 'rspec', '~> 3.0.0.beta'
|
20
20
|
gem.add_development_dependency 'rake'
|
21
21
|
gem.add_development_dependency 'rspec-sidekiq'
|
22
|
-
gem.add_development_dependency 'activesupport', '
|
22
|
+
gem.add_development_dependency 'activesupport', '>= 3'
|
23
23
|
gem.add_development_dependency 'simplecov'
|
24
|
-
end
|
24
|
+
end
|
data/spec/spec_helper.rb
CHANGED
metadata
CHANGED
@@ -1,27 +1,27 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sidekiq-unique-jobs
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 3.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mikael Henriksson
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-01
|
11
|
+
date: 2014-05-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: sidekiq
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "
|
17
|
+
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '2.6'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - "
|
24
|
+
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '2.6'
|
27
27
|
- !ruby/object:Gem::Dependency
|
@@ -84,14 +84,14 @@ dependencies:
|
|
84
84
|
name: activesupport
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
|
-
- - "
|
87
|
+
- - ">="
|
88
88
|
- !ruby/object:Gem::Version
|
89
89
|
version: '3'
|
90
90
|
type: :development
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
|
-
- - "
|
94
|
+
- - ">="
|
95
95
|
- !ruby/object:Gem::Version
|
96
96
|
version: '3'
|
97
97
|
- !ruby/object:Gem::Dependency
|
@@ -127,6 +127,7 @@ files:
|
|
127
127
|
- gemfiles/sidekiq_2.15.gemfile
|
128
128
|
- gemfiles/sidekiq_2.16.gemfile
|
129
129
|
- gemfiles/sidekiq_2.17.gemfile
|
130
|
+
- gemfiles/sidekiq_3.0.gemfile
|
130
131
|
- gemfiles/sidekiq_develop.gemfile
|
131
132
|
- lib/sidekiq-unique-jobs.rb
|
132
133
|
- lib/sidekiq-unique-jobs/config.rb
|
@@ -145,7 +146,7 @@ files:
|
|
145
146
|
- spec/support/my_worker.rb
|
146
147
|
- spec/support/sidekiq_meta.rb
|
147
148
|
- spec/support/unique_worker.rb
|
148
|
-
homepage:
|
149
|
+
homepage: https://github.com/mhenrixon/sidekiq-unique-jobs
|
149
150
|
licenses:
|
150
151
|
- LGPL-3.0
|
151
152
|
metadata: {}
|
@@ -165,7 +166,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
165
166
|
version: '0'
|
166
167
|
requirements: []
|
167
168
|
rubyforge_project:
|
168
|
-
rubygems_version: 2.2.
|
169
|
+
rubygems_version: 2.2.2
|
169
170
|
signing_key:
|
170
171
|
specification_version: 4
|
171
172
|
summary: The unique jobs that were removed from sidekiq
|