sidekiq-unique-jobs 2.7.1 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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
|