sidekiq-clutch 2.1.0 → 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: d471e4ebb14bcae3bcbb03c855ab949b1029b9a2bbb0210927bc6f38b7f8906d
4
- data.tar.gz: 5059ca6f29a0a3de77bef0060112b7bd448a64db5c18672a859fa91b70f1b7d7
3
+ metadata.gz: 20afe5d56df439c45d8866da01d4a61f4e9b29ffa795544cae880c158650d15f
4
+ data.tar.gz: 51226b9dfd3846b652dfd0b17b45a057d16a4ee55b21ad1eeae1701c22279cb8
5
5
  SHA512:
6
- metadata.gz: 9fec12c8483a7f59a466db621b77cf123bd4bb09671181b397926062b4f1c2a058be992581bb1a8b931394921da372ce737b3e365aff3dd420fe2562b818efc2
7
- data.tar.gz: a9fc7e8afac8d30c45fa15766cc26eacb524b4f324ded0d6dfda9d314270dabed274831523ed728c8ec08900f9d3f6e540505ff05593daed26badac7cef08c89
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,12 @@
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
+
6
+ # 2.1.1 - Sep 14, 2021
7
+
8
+ * FIX: Call correct clean up method when legacy jobs are finished
9
+
1
10
  # 2.1.0 - Sep 10, 2021
2
11
 
3
12
  * PERF: Don't pass step data in success callback to every batch
@@ -1,5 +1,5 @@
1
1
  module Sidekiq
2
2
  class Clutch
3
- VERSION = '2.1.0'.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
 
@@ -104,7 +105,7 @@ module Sidekiq
104
105
  def on_success_legacy(status, options)
105
106
  @key_base = options['result_key'].sub(/-\d+$/, '')
106
107
  if options['jobs'].empty?
107
- clean_up_result_keys
108
+ clean_up_temporary_keys
108
109
  return
109
110
  end
110
111
  parent_batch = Sidekiq::Batch.new(status.parent_bid)
@@ -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.0
4
+ version: 2.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tim Morgan
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-09-10 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
@@ -93,7 +79,7 @@ homepage: https://github.com/seven1m/sidekiq-clutch
93
79
  licenses:
94
80
  - MIT
95
81
  metadata: {}
96
- post_install_message:
82
+ post_install_message:
97
83
  rdoc_options: []
98
84
  require_paths:
99
85
  - lib
@@ -108,8 +94,8 @@ 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
112
- signing_key:
97
+ rubygems_version: 3.5.16
98
+ signing_key:
113
99
  specification_version: 4
114
100
  summary: An ergonomic wrapper API for Sidekiq Batches
115
101
  test_files: []