sidekiq-unique-jobs 7.1.13 → 7.1.14

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: bd2a8c713ad1593ff340793f2cbd1d07427bbb239d3efd4cc810489f99801e8b
4
- data.tar.gz: e33006dc4b63292e1e8cf7576d7c80d59ee077dfea852d6dbb7230afa52ed116
3
+ metadata.gz: 282d21cd3a381132e1a4cbe3852e158f3bd9d5b80430cf58b5192d3879282d53
4
+ data.tar.gz: 396796dfb7757f83fed54835495334993304dd144c6aebad129b736b30b38107
5
5
  SHA512:
6
- metadata.gz: e0a410cd505b3ccf292ded829328fa78f7250f42a350709e88d220f2ce5ec73e7f93d7c6c6adaab7fc0ffb0c28314e3ba3ce6b6e96c02918c9a6f2d908cf31d0
7
- data.tar.gz: 6fbbb12c4db8a91a29c5baf6cc96b208576074744d417649191b26bccc7b8069ceeddd178ecf864c5028fc35744700c7ffdf621f0a2cc8669d79c4f675a1ac54
6
+ metadata.gz: 26ed510d584ce8c4c00db7fdaa8b8267dfa58014d01bb5857e3ccf1ce974256a0e8dc82187dee9cb6bdfad4bdc97ead436ca10d707cae44954df55a3ef3c552a
7
+ data.tar.gz: 94d354d3f405e23562588d0df93ce54fd3883c45c4a1e40dac40516d41bbf3e0b97e9ab3a57883d957a1d6de2b10f4fa1544e03f8f2e845bf39c6639c04ba1b1
data/CHANGELOG.md CHANGED
@@ -1,5 +1,30 @@
1
1
  # Changelog
2
2
 
3
+ ## [v7.1.13](https://github.com/mhenrixon/sidekiq-unique-jobs/tree/v7.1.13) (2022-02-03)
4
+
5
+ [Full Changelog](https://github.com/mhenrixon/sidekiq-unique-jobs/compare/v7.1.12...v7.1.13)
6
+
7
+ **Implemented enhancements:**
8
+
9
+ - Prepare for redis 5.0.0 [\#680](https://github.com/mhenrixon/sidekiq-unique-jobs/pull/680) ([mhenrixon](https://github.com/mhenrixon))
10
+
11
+ **Fixed bugs:**
12
+
13
+ - Fix homepage url [\#667](https://github.com/mhenrixon/sidekiq-unique-jobs/pull/667) ([dal-ioki](https://github.com/dal-ioki))
14
+
15
+ **Closed issues:**
16
+
17
+ - Job finished, but lock is not cleared [\#677](https://github.com/mhenrixon/sidekiq-unique-jobs/issues/677)
18
+ - sidekiq\_options lock conflicts with sidekiq-lock gem lock option [\#669](https://github.com/mhenrixon/sidekiq-unique-jobs/issues/669)
19
+ - Slow evalsha causing timeouts [\#668](https://github.com/mhenrixon/sidekiq-unique-jobs/issues/668)
20
+ - Inconsistent documentation for config validation [\#647](https://github.com/mhenrixon/sidekiq-unique-jobs/issues/647)
21
+
22
+ **Merged pull requests:**
23
+
24
+ - Bump bundler and friends [\#674](https://github.com/mhenrixon/sidekiq-unique-jobs/pull/674) ([mhenrixon](https://github.com/mhenrixon))
25
+ - readme: fix minitest assertion. [\#672](https://github.com/mhenrixon/sidekiq-unique-jobs/pull/672) ([crondaemon](https://github.com/crondaemon))
26
+ - Pass `item` in `after_unlock` callback [\#665](https://github.com/mhenrixon/sidekiq-unique-jobs/pull/665) ([piloos](https://github.com/piloos))
27
+
3
28
  ## [v7.1.12](https://github.com/mhenrixon/sidekiq-unique-jobs/tree/v7.1.12) (2021-12-01)
4
29
 
5
30
  [Full Changelog](https://github.com/mhenrixon/sidekiq-unique-jobs/compare/v7.1.11...v7.1.12)
@@ -145,7 +170,7 @@
145
170
  **Implemented enhancements:**
146
171
 
147
172
  - Reflections [\#611](https://github.com/mhenrixon/sidekiq-unique-jobs/pull/611) ([mhenrixon](https://github.com/mhenrixon))
148
- - Start new orphan reaper process if orphan reaper is not running [\#604](https://github.com/mhenrixon/sidekiq-unique-jobs/pull/604) ([Assa1121](https://github.com/Assa1121))
173
+ - Start new orphan reaper process if orphan reaper is not running [\#604](https://github.com/mhenrixon/sidekiq-unique-jobs/pull/604) ([AlexFlint73](https://github.com/AlexFlint73))
149
174
 
150
175
  **Fixed bugs:**
151
176
 
@@ -87,10 +87,10 @@ module SidekiqUniqueJobs
87
87
  #
88
88
  def batch_delete(conn)
89
89
  digests.each_slice(BATCH_SIZE) do |chunk|
90
- conn.pipelined do
90
+ conn.pipelined do |pipeline|
91
91
  chunk.each do |digest|
92
- del_digest(conn, digest)
93
- conn.zrem(SidekiqUniqueJobs::DIGESTS, digest)
92
+ del_digest(pipeline, digest)
93
+ pipeline.zrem(SidekiqUniqueJobs::DIGESTS, digest)
94
94
  @count += 1
95
95
  end
96
96
  end
@@ -99,13 +99,13 @@ module SidekiqUniqueJobs
99
99
  @count
100
100
  end
101
101
 
102
- def del_digest(conn, digest)
102
+ def del_digest(pipeline, digest)
103
103
  removable_keys = keys_for_digest(digest)
104
104
 
105
105
  if VersionCheck.satisfied?(redis_version, ">= 4.0.0")
106
- conn.unlink(*removable_keys)
106
+ pipeline.unlink(*removable_keys)
107
107
  else
108
- conn.del(*removable_keys)
108
+ pipeline.del(*removable_keys)
109
109
  end
110
110
  end
111
111
 
@@ -65,7 +65,7 @@ module SidekiqUniqueJobs
65
65
  conn.multi do |pipeline|
66
66
  pipeline.set(key.digest, job_id)
67
67
  pipeline.hset(key.locked, job_id, now_f)
68
- info.set(lock_info)
68
+ info.set(lock_info, pipeline)
69
69
  pipeline.zadd(key.digests, now_f, key.digest)
70
70
  pipeline.zadd(key.changelog, now_f, changelog_json(job_id, "queue.lua", "Queued"))
71
71
  pipeline.zadd(key.changelog, now_f, changelog_json(job_id, "lock.lua", "Locked"))
@@ -123,9 +123,9 @@ module SidekiqUniqueJobs
123
123
  #
124
124
  def del
125
125
  redis do |conn|
126
- conn.multi do
127
- conn.zrem(DIGESTS, key.digest)
128
- conn.del(key.digest, key.queued, key.primed, key.locked, key.info)
126
+ conn.multi do |pipeline|
127
+ pipeline.zrem(DIGESTS, key.digest)
128
+ pipeline.del(key.digest, key.queued, key.primed, key.locked, key.info)
129
129
  end
130
130
  end
131
131
  end
@@ -55,13 +55,13 @@ module SidekiqUniqueJobs
55
55
  #
56
56
  # @return [Hash]
57
57
  #
58
- def set(obj)
58
+ def set(obj, pipeline = nil)
59
59
  return unless SidekiqUniqueJobs.config.lock_info
60
60
  raise InvalidArgument, "argument `obj` (#{obj}) needs to be a hash" unless obj.is_a?(Hash)
61
61
 
62
62
  json = dump_json(obj)
63
63
  @value = load_json(json)
64
- super(json)
64
+ super(json, pipeline)
65
65
  value
66
66
  end
67
67
  end
@@ -96,10 +96,10 @@ module SidekiqUniqueJobs
96
96
  #
97
97
  def push_to_deadset
98
98
  redis do |conn|
99
- conn.multi do
100
- conn.zadd("dead", now_f, payload)
101
- conn.zremrangebyscore("dead", "-inf", now_f - Sidekiq::DeadSet.timeout)
102
- conn.zremrangebyrank("dead", 0, -Sidekiq::DeadSet.max_jobs)
99
+ conn.multi do |pipeline|
100
+ pipeline.zadd("dead", now_f, payload)
101
+ pipeline.zremrangebyscore("dead", "-inf", now_f - Sidekiq::DeadSet.timeout)
102
+ pipeline.zremrangebyrank("dead", 0, -Sidekiq::DeadSet.max_jobs)
103
103
  end
104
104
  end
105
105
  end
@@ -141,14 +141,14 @@ module SidekiqUniqueJobs
141
141
  return false if procs.empty?
142
142
 
143
143
  procs.sort.each do |key|
144
- valid, workers = conn.pipelined do
144
+ valid, workers = conn.pipelined do |pipeline|
145
145
  # TODO: Remove the if statement in the future
146
- if conn.respond_to?(:exists?)
147
- conn.exists?(key)
146
+ if pipeline.respond_to?(:exists?)
147
+ pipeline.exists?(key)
148
148
  else
149
- conn.exists(key)
149
+ pipeline.exists(key)
150
150
  end
151
- conn.hgetall("#{key}:workers")
151
+ pipeline.hgetall("#{key}:workers")
152
152
  end
153
153
 
154
154
  next unless valid
@@ -25,7 +25,9 @@ module SidekiqUniqueJobs
25
25
  #
26
26
  # @return [true, false]
27
27
  #
28
- def set(obj)
28
+ def set(obj, pipeline = nil)
29
+ return pipeline.set(key, obj) if pipeline
30
+
29
31
  redis { |conn| conn.set(key, obj) }
30
32
  end
31
33
 
@@ -87,9 +87,9 @@ module SidekiqUniqueJobs
87
87
  digest = grabbed_key.gsub(":GRABBED", "")
88
88
  locks = conn.hgetall(grabbed_key)
89
89
 
90
- conn.pipelined do
91
- conn.hmset(locked_key, *locks.to_a)
92
- conn.zadd(DIGESTS, locks.values.first, digest)
90
+ conn.pipelined do |pipeline|
91
+ pipeline.hmset(locked_key, *locks.to_a)
92
+ pipeline.zadd(DIGESTS, locks.values.first, digest)
93
93
  end
94
94
  end
95
95
 
@@ -114,11 +114,11 @@ module SidekiqUniqueJobs
114
114
  def batch_delete(*keys)
115
115
  return if keys.empty?
116
116
 
117
- conn.pipelined do
117
+ conn.pipelined do |pipeline|
118
118
  if VersionCheck.satisfied?(redis_version, ">= 4.0.0")
119
- conn.unlink(*keys)
119
+ pipeline.unlink(*keys)
120
120
  else
121
- conn.del(*keys)
121
+ pipeline.del(*keys)
122
122
  end
123
123
  end
124
124
  end
@@ -3,5 +3,5 @@
3
3
  module SidekiqUniqueJobs
4
4
  #
5
5
  # @return [String] the current SidekiqUniqueJobs version
6
- VERSION = "7.1.13"
6
+ VERSION = "7.1.14"
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sidekiq-unique-jobs
3
3
  version: !ruby/object:Gem::Version
4
- version: 7.1.13
4
+ version: 7.1.14
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mikael Henriksson
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-02-03 00:00:00.000000000 Z
11
+ date: 2022-02-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: brpoplpush-redis_script
@@ -257,7 +257,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
257
257
  - !ruby/object:Gem::Version
258
258
  version: '0'
259
259
  requirements: []
260
- rubygems_version: 3.3.4
260
+ rubygems_version: 3.3.6
261
261
  signing_key:
262
262
  specification_version: 4
263
263
  summary: Sidekiq middleware that prevents duplicates jobs