sidekiq-clutch 2.1.1 → 2.1.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8a79d553989453b6f6bdb859e2c6a0484ed1d3fdc6992dfa0aa80b79810fa4c2
4
- data.tar.gz: 06d6490367f6ed9ad7d1e616128f6a6498242637786e66d8724bea4735718f89
3
+ metadata.gz: 20afe5d56df439c45d8866da01d4a61f4e9b29ffa795544cae880c158650d15f
4
+ data.tar.gz: 51226b9dfd3846b652dfd0b17b45a057d16a4ee55b21ad1eeae1701c22279cb8
5
5
  SHA512:
6
- metadata.gz: 7a80caa3060acfcdb7f5cb3c4497261030c4f07cc1d528bbe078e6c3bb434117ad031d342f3940eaab59de9afb3b39d117a516933d92d3dd17475bea3c56d10d
7
- data.tar.gz: ad2c11c85514d5cace032bace89031d2994be6cad8533bffaf1d498d869bdea9eb1dbb4f157e93c393b9ec3b72e3bbfebdb06d3fdc099ea02d41a032d98ecb5d
6
+ metadata.gz: 33e799264f3bf4c2a7cf6b564e92076b34a491269d5572a3a5623d0b52d766d9a0dd67fdb5f383ee1b4b3480a724bb45fe04c3b645008718cd6c2a990ab7f63c
7
+ data.tar.gz: 074af1df0fd3b46e8ee4e6b73d79093f096298a7feb21af74ab03e6aa56ae0b04ce3c50d098af49b910e9041af96989dc4592b66575f72fe0466f03c30d68d45
data/.circleci/config.yml CHANGED
@@ -3,10 +3,11 @@ jobs:
3
3
  build:
4
4
  parallelism: 1
5
5
  docker:
6
- - image: circleci/ruby:2.5
6
+ - image: cimg/ruby:3.3
7
7
  - image: redis:3.2
8
8
  steps:
9
9
  - checkout
10
+ - run: sed -i "s/spec.add_dependency 'sidekiq', '>= 5.0.0'/spec.add_dependency 'sidekiq', '>= 5.0.0', '< 7.0.0'/" sidekiq-clutch.gemspec
10
11
  - run: gem install bundler
11
12
  - run: bundle install
12
13
  - run: bundle exec rspec
data/CHANGELOG.md CHANGED
@@ -1,3 +1,8 @@
1
+ # 2.1.2 - Feb 18, 2025
2
+
3
+ * FIX: Don't leave orphaned redis keys laying around
4
+ * CHANGE: Prefix redis keys for easier identification
5
+
1
6
  # 2.1.1 - Sep 14, 2021
2
7
 
3
8
  * FIX: Call correct clean up method when legacy jobs are finished
@@ -1,5 +1,5 @@
1
1
  module Sidekiq
2
2
  class Clutch
3
- VERSION = '2.1.1'.freeze
3
+ VERSION = '2.1.2'.freeze
4
4
  end
5
5
  end
@@ -14,8 +14,8 @@ module Sidekiq
14
14
  end
15
15
 
16
16
  attr_reader :batch, :queue, :parallel_key
17
-
18
17
  attr_accessor :current_result_key, :on_failure
18
+ attr_writer :key_base
19
19
 
20
20
  def parallel
21
21
  @parallel_key = SecureRandom.uuid
@@ -87,8 +87,9 @@ module Sidekiq
87
87
  end
88
88
  parent_batch = Sidekiq::Batch.new(status.parent_bid)
89
89
  service = self.class.new(parent_batch)
90
+ service.key_base = @key_base
90
91
  service.jobs.raw = remaining_jobs
91
- service.current_result_key = "#{key_base}-#{options['result_key_index']}"
92
+ service.current_result_key = "#{key_base}:result-#{options['result_key_index']}"
92
93
  service.engage
93
94
  end
94
95
 
@@ -115,11 +116,11 @@ module Sidekiq
115
116
  end
116
117
 
117
118
  def key_base
118
- @key_base ||= SecureRandom.uuid
119
+ @key_base ||= "clutch:#{SecureRandom.uuid}"
119
120
  end
120
121
 
121
122
  def jobs_key
122
- "#{key_base}-jobs"
123
+ "#{key_base}:jobs"
123
124
  end
124
125
 
125
126
  def set_jobs_data_in_redis(data)
@@ -154,7 +155,7 @@ module Sidekiq
154
155
 
155
156
  def enqueue_job(klass, params, result_key_index)
156
157
  job_options = Object.const_get(klass).sidekiq_options
157
- result_key = "#{key_base}-#{result_key_index}"
158
+ result_key = "#{key_base}:result-#{result_key_index}"
158
159
  options = {
159
160
  'class' => JobWrapper,
160
161
  'queue' => queue || job_options['queue'],
@@ -171,7 +172,7 @@ module Sidekiq
171
172
  redis.del(jobs_key)
172
173
  result_key_index = 1
173
174
  loop do
174
- result = redis.del("#{key_base}-#{result_key_index}")
175
+ result = redis.del("#{key_base}:result-#{result_key_index}")
175
176
  result_key_index += 1
176
177
  break if result == 0
177
178
  end
@@ -21,7 +21,6 @@ Gem::Specification.new do |spec|
21
21
 
22
22
  spec.add_dependency 'sidekiq', '>= 5.0.0'
23
23
 
24
- spec.add_development_dependency 'bundler', '~> 2.2.4'
25
24
  spec.add_development_dependency 'rake', '~> 13.0.1'
26
25
  spec.add_development_dependency 'rspec', '~> 3.9.0'
27
26
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sidekiq-clutch
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.1
4
+ version: 2.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tim Morgan
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-09-14 00:00:00.000000000 Z
11
+ date: 1980-01-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: sidekiq
@@ -24,20 +24,6 @@ dependencies:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: 5.0.0
27
- - !ruby/object:Gem::Dependency
28
- name: bundler
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - "~>"
32
- - !ruby/object:Gem::Version
33
- version: 2.2.4
34
- type: :development
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - "~>"
39
- - !ruby/object:Gem::Version
40
- version: 2.2.4
41
27
  - !ruby/object:Gem::Dependency
42
28
  name: rake
43
29
  requirement: !ruby/object:Gem::Requirement
@@ -108,7 +94,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
108
94
  - !ruby/object:Gem::Version
109
95
  version: '0'
110
96
  requirements: []
111
- rubygems_version: 3.1.6
97
+ rubygems_version: 3.5.16
112
98
  signing_key:
113
99
  specification_version: 4
114
100
  summary: An ergonomic wrapper API for Sidekiq Batches