sidekiq-unique-jobs 6.0.24 → 7.0.4

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.

Files changed (122) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +707 -25
  3. data/README.md +516 -105
  4. data/lib/sidekiq_unique_jobs.rb +48 -7
  5. data/lib/sidekiq_unique_jobs/batch_delete.rb +123 -0
  6. data/lib/sidekiq_unique_jobs/changelog.rb +78 -0
  7. data/lib/sidekiq_unique_jobs/cli.rb +34 -31
  8. data/lib/sidekiq_unique_jobs/config.rb +263 -0
  9. data/lib/sidekiq_unique_jobs/connection.rb +6 -5
  10. data/lib/sidekiq_unique_jobs/constants.rb +46 -24
  11. data/lib/sidekiq_unique_jobs/core_ext.rb +80 -0
  12. data/lib/sidekiq_unique_jobs/digests.rb +71 -100
  13. data/lib/sidekiq_unique_jobs/exceptions.rb +78 -12
  14. data/lib/sidekiq_unique_jobs/job.rb +41 -12
  15. data/lib/sidekiq_unique_jobs/json.rb +40 -0
  16. data/lib/sidekiq_unique_jobs/key.rb +93 -0
  17. data/lib/sidekiq_unique_jobs/lock.rb +325 -0
  18. data/lib/sidekiq_unique_jobs/lock/base_lock.rb +66 -50
  19. data/lib/sidekiq_unique_jobs/lock/client_validator.rb +28 -0
  20. data/lib/sidekiq_unique_jobs/lock/server_validator.rb +27 -0
  21. data/lib/sidekiq_unique_jobs/lock/until_and_while_executing.rb +7 -10
  22. data/lib/sidekiq_unique_jobs/lock/until_executed.rb +6 -6
  23. data/lib/sidekiq_unique_jobs/lock/until_executing.rb +1 -1
  24. data/lib/sidekiq_unique_jobs/lock/until_expired.rb +4 -21
  25. data/lib/sidekiq_unique_jobs/lock/validator.rb +96 -0
  26. data/lib/sidekiq_unique_jobs/lock/while_executing.rb +13 -9
  27. data/lib/sidekiq_unique_jobs/lock/while_executing_reject.rb +3 -3
  28. data/lib/sidekiq_unique_jobs/lock_args.rb +123 -0
  29. data/lib/sidekiq_unique_jobs/lock_config.rb +122 -0
  30. data/lib/sidekiq_unique_jobs/lock_digest.rb +79 -0
  31. data/lib/sidekiq_unique_jobs/lock_info.rb +68 -0
  32. data/lib/sidekiq_unique_jobs/lock_timeout.rb +62 -0
  33. data/lib/sidekiq_unique_jobs/lock_ttl.rb +77 -0
  34. data/lib/sidekiq_unique_jobs/locksmith.rb +261 -101
  35. data/lib/sidekiq_unique_jobs/logging.rb +149 -23
  36. data/lib/sidekiq_unique_jobs/logging/middleware_context.rb +44 -0
  37. data/lib/sidekiq_unique_jobs/lua/delete.lua +51 -0
  38. data/lib/sidekiq_unique_jobs/lua/delete_by_digest.lua +42 -0
  39. data/lib/sidekiq_unique_jobs/lua/delete_job_by_digest.lua +38 -0
  40. data/lib/sidekiq_unique_jobs/lua/find_digest_in_queues.lua +26 -0
  41. data/lib/sidekiq_unique_jobs/lua/lock.lua +93 -0
  42. data/lib/sidekiq_unique_jobs/lua/locked.lua +35 -0
  43. data/lib/sidekiq_unique_jobs/lua/queue.lua +87 -0
  44. data/lib/sidekiq_unique_jobs/lua/reap_orphans.lua +94 -0
  45. data/lib/sidekiq_unique_jobs/lua/shared/_common.lua +40 -0
  46. data/lib/sidekiq_unique_jobs/lua/shared/_current_time.lua +8 -0
  47. data/lib/sidekiq_unique_jobs/lua/shared/_delete_from_queue.lua +22 -0
  48. data/lib/sidekiq_unique_jobs/lua/shared/_delete_from_sorted_set.lua +18 -0
  49. data/lib/sidekiq_unique_jobs/lua/shared/_find_digest_in_process_set.lua +53 -0
  50. data/lib/sidekiq_unique_jobs/lua/shared/_find_digest_in_queues.lua +43 -0
  51. data/lib/sidekiq_unique_jobs/lua/shared/_find_digest_in_sorted_set.lua +24 -0
  52. data/lib/sidekiq_unique_jobs/lua/shared/_hgetall.lua +13 -0
  53. data/lib/sidekiq_unique_jobs/lua/shared/_upgrades.lua +3 -0
  54. data/lib/sidekiq_unique_jobs/lua/unlock.lua +95 -0
  55. data/lib/sidekiq_unique_jobs/lua/update_version.lua +40 -0
  56. data/lib/sidekiq_unique_jobs/lua/upgrade.lua +68 -0
  57. data/lib/sidekiq_unique_jobs/middleware.rb +29 -31
  58. data/lib/sidekiq_unique_jobs/middleware/client.rb +42 -0
  59. data/lib/sidekiq_unique_jobs/middleware/server.rb +27 -0
  60. data/lib/sidekiq_unique_jobs/normalizer.rb +4 -4
  61. data/lib/sidekiq_unique_jobs/on_conflict.rb +23 -10
  62. data/lib/sidekiq_unique_jobs/on_conflict/log.rb +9 -5
  63. data/lib/sidekiq_unique_jobs/on_conflict/null_strategy.rb +1 -1
  64. data/lib/sidekiq_unique_jobs/on_conflict/raise.rb +1 -1
  65. data/lib/sidekiq_unique_jobs/on_conflict/reject.rb +61 -15
  66. data/lib/sidekiq_unique_jobs/on_conflict/replace.rb +54 -14
  67. data/lib/sidekiq_unique_jobs/on_conflict/reschedule.rb +12 -5
  68. data/lib/sidekiq_unique_jobs/on_conflict/strategy.rb +25 -6
  69. data/lib/sidekiq_unique_jobs/options_with_fallback.rb +41 -27
  70. data/lib/sidekiq_unique_jobs/orphans/lua_reaper.rb +29 -0
  71. data/lib/sidekiq_unique_jobs/orphans/manager.rb +212 -0
  72. data/lib/sidekiq_unique_jobs/orphans/null_reaper.rb +24 -0
  73. data/lib/sidekiq_unique_jobs/orphans/observer.rb +42 -0
  74. data/lib/sidekiq_unique_jobs/orphans/reaper.rb +114 -0
  75. data/lib/sidekiq_unique_jobs/orphans/ruby_reaper.rb +201 -0
  76. data/lib/sidekiq_unique_jobs/redis.rb +11 -0
  77. data/lib/sidekiq_unique_jobs/redis/entity.rb +106 -0
  78. data/lib/sidekiq_unique_jobs/redis/hash.rb +56 -0
  79. data/lib/sidekiq_unique_jobs/redis/list.rb +32 -0
  80. data/lib/sidekiq_unique_jobs/redis/set.rb +32 -0
  81. data/lib/sidekiq_unique_jobs/redis/sorted_set.rb +86 -0
  82. data/lib/sidekiq_unique_jobs/redis/string.rb +49 -0
  83. data/lib/sidekiq_unique_jobs/rspec/matchers.rb +26 -0
  84. data/lib/sidekiq_unique_jobs/rspec/matchers/have_valid_sidekiq_options.rb +51 -0
  85. data/lib/sidekiq_unique_jobs/script.rb +15 -0
  86. data/lib/sidekiq_unique_jobs/script/caller.rb +125 -0
  87. data/lib/sidekiq_unique_jobs/server.rb +48 -0
  88. data/lib/sidekiq_unique_jobs/sidekiq_unique_ext.rb +92 -65
  89. data/lib/sidekiq_unique_jobs/sidekiq_unique_jobs.rb +185 -34
  90. data/lib/sidekiq_unique_jobs/sidekiq_worker_methods.rb +11 -5
  91. data/lib/sidekiq_unique_jobs/testing.rb +62 -21
  92. data/lib/sidekiq_unique_jobs/timer_task.rb +78 -0
  93. data/lib/sidekiq_unique_jobs/timing.rb +58 -0
  94. data/lib/sidekiq_unique_jobs/unlockable.rb +20 -4
  95. data/lib/sidekiq_unique_jobs/update_version.rb +25 -0
  96. data/lib/sidekiq_unique_jobs/upgrade_locks.rb +155 -0
  97. data/lib/sidekiq_unique_jobs/version.rb +3 -1
  98. data/lib/sidekiq_unique_jobs/version_check.rb +23 -4
  99. data/lib/sidekiq_unique_jobs/web.rb +50 -27
  100. data/lib/sidekiq_unique_jobs/web/helpers.rb +125 -10
  101. data/lib/sidekiq_unique_jobs/web/views/changelogs.erb +54 -0
  102. data/lib/sidekiq_unique_jobs/web/views/lock.erb +108 -0
  103. data/lib/sidekiq_unique_jobs/web/views/locks.erb +52 -0
  104. data/lib/tasks/changelog.rake +5 -5
  105. metadata +117 -177
  106. data/lib/sidekiq_unique_jobs/client/middleware.rb +0 -56
  107. data/lib/sidekiq_unique_jobs/scripts.rb +0 -118
  108. data/lib/sidekiq_unique_jobs/server/middleware.rb +0 -46
  109. data/lib/sidekiq_unique_jobs/timeout.rb +0 -8
  110. data/lib/sidekiq_unique_jobs/timeout/calculator.rb +0 -63
  111. data/lib/sidekiq_unique_jobs/unique_args.rb +0 -150
  112. data/lib/sidekiq_unique_jobs/util.rb +0 -103
  113. data/lib/sidekiq_unique_jobs/web/views/unique_digest.erb +0 -28
  114. data/lib/sidekiq_unique_jobs/web/views/unique_digests.erb +0 -46
  115. data/redis/acquire_lock.lua +0 -21
  116. data/redis/convert_legacy_lock.lua +0 -13
  117. data/redis/delete.lua +0 -14
  118. data/redis/delete_by_digest.lua +0 -23
  119. data/redis/delete_job_by_digest.lua +0 -60
  120. data/redis/lock.lua +0 -62
  121. data/redis/release_stale_locks.lua +0 -90
  122. data/redis/unlock.lua +0 -35
@@ -0,0 +1,52 @@
1
+ <header class="row">
2
+ <div class="col-sm-5">
3
+ <h3>
4
+ <%= t('Locks') %>
5
+ </h3>
6
+ </div>
7
+ <form action="<%= root_path %>locks" class="form form-inline" method="get">
8
+ <%= csrf_tag %>
9
+ <input name="filter" class="form-control" type="text" value="<%= @filter %>" />
10
+ <button class="btn btn-default" type="submit">
11
+ <%= t('Filter') %>
12
+ </button>
13
+ </form>
14
+ <% if @locks.any? && @total_size > @count.to_i %>
15
+ <div class="col-sm-4">
16
+ <%= erb unique_template(:_paging), locals: { url: "#{root_path}locks" } %>
17
+ </div>
18
+ <% end %>
19
+ </header>
20
+ <% if @locks.any? %>
21
+ <div class="table_container">
22
+ <table class="table table-striped table-bordered table-hover">
23
+ <thead>
24
+ <tr>
25
+ <th><%= t('Delete') %></th>
26
+ <th><%= t('Digest') %></th>
27
+ <th><%= t('Lock') %></th>
28
+ <th><%= t('Locks') %></th>
29
+ <th><%= t('Since') %></th>
30
+ </tr>
31
+ </thead>
32
+ <% @locks.each do |lock| %>
33
+ <tr>
34
+ <td>
35
+ <form action="<%= root_path %>locks/<%= lock.key %>/delete" method="get">
36
+ <%= csrf_tag %>
37
+ <input name="lock" value="<%= h lock.key %>" type="hidden" />
38
+ <input class="btn btn-danger btn-xs" type="submit" name="delete" value="<%= t('Delete') %>" data-confirm="<%= t('AreYouSure') %>" />
39
+ </form>
40
+ </td>
41
+ <td><a href="<%= root_path %>locks/<%= lock.key %>"><%= lock.key %></a></td>
42
+ <td><%= lock.info["lock"] %></th>
43
+ <td><%= lock.locked.count %></td>
44
+ <td><%= safe_relative_time(lock.created_at) %></td>
45
+ </tr>
46
+ <% end %>
47
+ </table>
48
+ <form action="<%= root_path %>locks/delete_all" method="get">
49
+ <input class="btn btn-danger btn-xs" type="submit" name="delete_all" value="<%= t('DeleteAll') %>" data-confirm="<%= t('AreYouSure') %>" />
50
+ </form>
51
+ </div>
52
+ <% end %>
@@ -5,15 +5,15 @@ task :changelog do
5
5
  # rubocop:disable Style/MutableConstant
6
6
  CHANGELOG_CMD ||= %w[
7
7
  github_changelog_generator
8
- -u
8
+ --no-verbose
9
+ --user
9
10
  mhenrixon
10
- -p
11
+ --project
11
12
  sidekiq-unique-jobs
12
- --no-verbose
13
13
  --token
14
14
  ]
15
- ADD_CHANGELOG_CMD ||= "git add --all"
16
- COMMIT_CHANGELOG_CMD ||= "git commit -a -m 'Update changelog'"
15
+ ADD_CHANGELOG_CMD ||= "git add --all"
16
+ COMMIT_CHANGELOG_CMD ||= "git commit -a -m 'Update changelog'"
17
17
  # rubocop:enable Style/MutableConstant
18
18
 
19
19
  sh("git checkout master")
metadata CHANGED
@@ -1,15 +1,35 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sidekiq-unique-jobs
3
3
  version: !ruby/object:Gem::Version
4
- version: 6.0.24
4
+ version: 7.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mikael Henriksson
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-09-27 00:00:00.000000000 Z
11
+ date: 2021-02-17 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: brpoplpush-redis_script
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">"
18
+ - !ruby/object:Gem::Version
19
+ version: 0.0.0
20
+ - - "<="
21
+ - !ruby/object:Gem::Version
22
+ version: 2.0.0
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - ">"
28
+ - !ruby/object:Gem::Version
29
+ version: 0.0.0
30
+ - - "<="
31
+ - !ruby/object:Gem::Version
32
+ version: 2.0.0
13
33
  - !ruby/object:Gem::Dependency
14
34
  name: concurrent-ruby
15
35
  requirement: !ruby/object:Gem::Requirement
@@ -36,7 +56,7 @@ dependencies:
36
56
  requirements:
37
57
  - - ">="
38
58
  - !ruby/object:Gem::Version
39
- version: '4.0'
59
+ version: '5.0'
40
60
  - - "<"
41
61
  - !ruby/object:Gem::Version
42
62
  version: '7.0'
@@ -46,7 +66,7 @@ dependencies:
46
66
  requirements:
47
67
  - - ">="
48
68
  - !ruby/object:Gem::Version
49
- version: '4.0'
69
+ version: '5.0'
50
70
  - - "<"
51
71
  - !ruby/object:Gem::Version
52
72
  version: '7.0'
@@ -70,158 +90,6 @@ dependencies:
70
90
  - - "<"
71
91
  - !ruby/object:Gem::Version
72
92
  version: '2.0'
73
- - !ruby/object:Gem::Dependency
74
- name: bundler
75
- requirement: !ruby/object:Gem::Requirement
76
- requirements:
77
- - - "~>"
78
- - !ruby/object:Gem::Version
79
- version: '2.0'
80
- type: :development
81
- prerelease: false
82
- version_requirements: !ruby/object:Gem::Requirement
83
- requirements:
84
- - - "~>"
85
- - !ruby/object:Gem::Version
86
- version: '2.0'
87
- - !ruby/object:Gem::Dependency
88
- name: rack-test
89
- requirement: !ruby/object:Gem::Requirement
90
- requirements:
91
- - - ">="
92
- - !ruby/object:Gem::Version
93
- version: '1.0'
94
- - - "<"
95
- - !ruby/object:Gem::Version
96
- version: '2.0'
97
- type: :development
98
- prerelease: false
99
- version_requirements: !ruby/object:Gem::Requirement
100
- requirements:
101
- - - ">="
102
- - !ruby/object:Gem::Version
103
- version: '1.0'
104
- - - "<"
105
- - !ruby/object:Gem::Version
106
- version: '2.0'
107
- - !ruby/object:Gem::Dependency
108
- name: rake
109
- requirement: !ruby/object:Gem::Requirement
110
- requirements:
111
- - - "~>"
112
- - !ruby/object:Gem::Version
113
- version: '12.3'
114
- type: :development
115
- prerelease: false
116
- version_requirements: !ruby/object:Gem::Requirement
117
- requirements:
118
- - - "~>"
119
- - !ruby/object:Gem::Version
120
- version: '12.3'
121
- - !ruby/object:Gem::Dependency
122
- name: rspec
123
- requirement: !ruby/object:Gem::Requirement
124
- requirements:
125
- - - "~>"
126
- - !ruby/object:Gem::Version
127
- version: '3.7'
128
- type: :development
129
- prerelease: false
130
- version_requirements: !ruby/object:Gem::Requirement
131
- requirements:
132
- - - "~>"
133
- - !ruby/object:Gem::Version
134
- version: '3.7'
135
- - !ruby/object:Gem::Dependency
136
- name: sinatra
137
- requirement: !ruby/object:Gem::Requirement
138
- requirements:
139
- - - ">="
140
- - !ruby/object:Gem::Version
141
- version: '2.0'
142
- - - "<"
143
- - !ruby/object:Gem::Version
144
- version: '3.0'
145
- type: :development
146
- prerelease: false
147
- version_requirements: !ruby/object:Gem::Requirement
148
- requirements:
149
- - - ">="
150
- - !ruby/object:Gem::Version
151
- version: '2.0'
152
- - - "<"
153
- - !ruby/object:Gem::Version
154
- version: '3.0'
155
- - !ruby/object:Gem::Dependency
156
- name: timecop
157
- requirement: !ruby/object:Gem::Requirement
158
- requirements:
159
- - - "~>"
160
- - !ruby/object:Gem::Version
161
- version: '0.9'
162
- type: :development
163
- prerelease: false
164
- version_requirements: !ruby/object:Gem::Requirement
165
- requirements:
166
- - - "~>"
167
- - !ruby/object:Gem::Version
168
- version: '0.9'
169
- - !ruby/object:Gem::Dependency
170
- name: github-markup
171
- requirement: !ruby/object:Gem::Requirement
172
- requirements:
173
- - - "~>"
174
- - !ruby/object:Gem::Version
175
- version: '3.0'
176
- type: :development
177
- prerelease: false
178
- version_requirements: !ruby/object:Gem::Requirement
179
- requirements:
180
- - - "~>"
181
- - !ruby/object:Gem::Version
182
- version: '3.0'
183
- - !ruby/object:Gem::Dependency
184
- name: github_changelog_generator
185
- requirement: !ruby/object:Gem::Requirement
186
- requirements:
187
- - - "~>"
188
- - !ruby/object:Gem::Version
189
- version: '1.14'
190
- type: :development
191
- prerelease: false
192
- version_requirements: !ruby/object:Gem::Requirement
193
- requirements:
194
- - - "~>"
195
- - !ruby/object:Gem::Version
196
- version: '1.14'
197
- - !ruby/object:Gem::Dependency
198
- name: yard
199
- requirement: !ruby/object:Gem::Requirement
200
- requirements:
201
- - - "~>"
202
- - !ruby/object:Gem::Version
203
- version: 0.9.18
204
- type: :development
205
- prerelease: false
206
- version_requirements: !ruby/object:Gem::Requirement
207
- requirements:
208
- - - "~>"
209
- - !ruby/object:Gem::Version
210
- version: 0.9.18
211
- - !ruby/object:Gem::Dependency
212
- name: gem-release
213
- requirement: !ruby/object:Gem::Requirement
214
- requirements:
215
- - - "~>"
216
- - !ruby/object:Gem::Version
217
- version: '2.0'
218
- type: :development
219
- prerelease: false
220
- version_requirements: !ruby/object:Gem::Requirement
221
- requirements:
222
- - - "~>"
223
- - !ruby/object:Gem::Version
224
- version: '2.0'
225
93
  description: |
226
94
  Prevents simultaneous Sidekiq jobs with the same unique arguments to run.
227
95
  Highly configurable to suite your specific needs.
@@ -238,24 +106,61 @@ files:
238
106
  - bin/uniquejobs
239
107
  - lib/sidekiq-unique-jobs.rb
240
108
  - lib/sidekiq_unique_jobs.rb
109
+ - lib/sidekiq_unique_jobs/batch_delete.rb
110
+ - lib/sidekiq_unique_jobs/changelog.rb
241
111
  - lib/sidekiq_unique_jobs/cli.rb
242
- - lib/sidekiq_unique_jobs/client/middleware.rb
112
+ - lib/sidekiq_unique_jobs/config.rb
243
113
  - lib/sidekiq_unique_jobs/connection.rb
244
114
  - lib/sidekiq_unique_jobs/constants.rb
245
115
  - lib/sidekiq_unique_jobs/core_ext.rb
246
116
  - lib/sidekiq_unique_jobs/digests.rb
247
117
  - lib/sidekiq_unique_jobs/exceptions.rb
248
118
  - lib/sidekiq_unique_jobs/job.rb
119
+ - lib/sidekiq_unique_jobs/json.rb
120
+ - lib/sidekiq_unique_jobs/key.rb
121
+ - lib/sidekiq_unique_jobs/lock.rb
249
122
  - lib/sidekiq_unique_jobs/lock/base_lock.rb
123
+ - lib/sidekiq_unique_jobs/lock/client_validator.rb
124
+ - lib/sidekiq_unique_jobs/lock/server_validator.rb
250
125
  - lib/sidekiq_unique_jobs/lock/until_and_while_executing.rb
251
126
  - lib/sidekiq_unique_jobs/lock/until_executed.rb
252
127
  - lib/sidekiq_unique_jobs/lock/until_executing.rb
253
128
  - lib/sidekiq_unique_jobs/lock/until_expired.rb
129
+ - lib/sidekiq_unique_jobs/lock/validator.rb
254
130
  - lib/sidekiq_unique_jobs/lock/while_executing.rb
255
131
  - lib/sidekiq_unique_jobs/lock/while_executing_reject.rb
132
+ - lib/sidekiq_unique_jobs/lock_args.rb
133
+ - lib/sidekiq_unique_jobs/lock_config.rb
134
+ - lib/sidekiq_unique_jobs/lock_digest.rb
135
+ - lib/sidekiq_unique_jobs/lock_info.rb
136
+ - lib/sidekiq_unique_jobs/lock_timeout.rb
137
+ - lib/sidekiq_unique_jobs/lock_ttl.rb
256
138
  - lib/sidekiq_unique_jobs/locksmith.rb
257
139
  - lib/sidekiq_unique_jobs/logging.rb
140
+ - lib/sidekiq_unique_jobs/logging/middleware_context.rb
141
+ - lib/sidekiq_unique_jobs/lua/delete.lua
142
+ - lib/sidekiq_unique_jobs/lua/delete_by_digest.lua
143
+ - lib/sidekiq_unique_jobs/lua/delete_job_by_digest.lua
144
+ - lib/sidekiq_unique_jobs/lua/find_digest_in_queues.lua
145
+ - lib/sidekiq_unique_jobs/lua/lock.lua
146
+ - lib/sidekiq_unique_jobs/lua/locked.lua
147
+ - lib/sidekiq_unique_jobs/lua/queue.lua
148
+ - lib/sidekiq_unique_jobs/lua/reap_orphans.lua
149
+ - lib/sidekiq_unique_jobs/lua/shared/_common.lua
150
+ - lib/sidekiq_unique_jobs/lua/shared/_current_time.lua
151
+ - lib/sidekiq_unique_jobs/lua/shared/_delete_from_queue.lua
152
+ - lib/sidekiq_unique_jobs/lua/shared/_delete_from_sorted_set.lua
153
+ - lib/sidekiq_unique_jobs/lua/shared/_find_digest_in_process_set.lua
154
+ - lib/sidekiq_unique_jobs/lua/shared/_find_digest_in_queues.lua
155
+ - lib/sidekiq_unique_jobs/lua/shared/_find_digest_in_sorted_set.lua
156
+ - lib/sidekiq_unique_jobs/lua/shared/_hgetall.lua
157
+ - lib/sidekiq_unique_jobs/lua/shared/_upgrades.lua
158
+ - lib/sidekiq_unique_jobs/lua/unlock.lua
159
+ - lib/sidekiq_unique_jobs/lua/update_version.lua
160
+ - lib/sidekiq_unique_jobs/lua/upgrade.lua
258
161
  - lib/sidekiq_unique_jobs/middleware.rb
162
+ - lib/sidekiq_unique_jobs/middleware/client.rb
163
+ - lib/sidekiq_unique_jobs/middleware/server.rb
259
164
  - lib/sidekiq_unique_jobs/normalizer.rb
260
165
  - lib/sidekiq_unique_jobs/on_conflict.rb
261
166
  - lib/sidekiq_unique_jobs/on_conflict/log.rb
@@ -266,33 +171,42 @@ files:
266
171
  - lib/sidekiq_unique_jobs/on_conflict/reschedule.rb
267
172
  - lib/sidekiq_unique_jobs/on_conflict/strategy.rb
268
173
  - lib/sidekiq_unique_jobs/options_with_fallback.rb
269
- - lib/sidekiq_unique_jobs/scripts.rb
270
- - lib/sidekiq_unique_jobs/server/middleware.rb
174
+ - lib/sidekiq_unique_jobs/orphans/lua_reaper.rb
175
+ - lib/sidekiq_unique_jobs/orphans/manager.rb
176
+ - lib/sidekiq_unique_jobs/orphans/null_reaper.rb
177
+ - lib/sidekiq_unique_jobs/orphans/observer.rb
178
+ - lib/sidekiq_unique_jobs/orphans/reaper.rb
179
+ - lib/sidekiq_unique_jobs/orphans/ruby_reaper.rb
180
+ - lib/sidekiq_unique_jobs/redis.rb
181
+ - lib/sidekiq_unique_jobs/redis/entity.rb
182
+ - lib/sidekiq_unique_jobs/redis/hash.rb
183
+ - lib/sidekiq_unique_jobs/redis/list.rb
184
+ - lib/sidekiq_unique_jobs/redis/set.rb
185
+ - lib/sidekiq_unique_jobs/redis/sorted_set.rb
186
+ - lib/sidekiq_unique_jobs/redis/string.rb
187
+ - lib/sidekiq_unique_jobs/rspec/matchers.rb
188
+ - lib/sidekiq_unique_jobs/rspec/matchers/have_valid_sidekiq_options.rb
189
+ - lib/sidekiq_unique_jobs/script.rb
190
+ - lib/sidekiq_unique_jobs/script/caller.rb
191
+ - lib/sidekiq_unique_jobs/server.rb
271
192
  - lib/sidekiq_unique_jobs/sidekiq_unique_ext.rb
272
193
  - lib/sidekiq_unique_jobs/sidekiq_unique_jobs.rb
273
194
  - lib/sidekiq_unique_jobs/sidekiq_worker_methods.rb
274
195
  - lib/sidekiq_unique_jobs/testing.rb
275
- - lib/sidekiq_unique_jobs/timeout.rb
276
- - lib/sidekiq_unique_jobs/timeout/calculator.rb
277
- - lib/sidekiq_unique_jobs/unique_args.rb
196
+ - lib/sidekiq_unique_jobs/timer_task.rb
197
+ - lib/sidekiq_unique_jobs/timing.rb
278
198
  - lib/sidekiq_unique_jobs/unlockable.rb
279
- - lib/sidekiq_unique_jobs/util.rb
199
+ - lib/sidekiq_unique_jobs/update_version.rb
200
+ - lib/sidekiq_unique_jobs/upgrade_locks.rb
280
201
  - lib/sidekiq_unique_jobs/version.rb
281
202
  - lib/sidekiq_unique_jobs/version_check.rb
282
203
  - lib/sidekiq_unique_jobs/web.rb
283
204
  - lib/sidekiq_unique_jobs/web/helpers.rb
284
205
  - lib/sidekiq_unique_jobs/web/views/_paging.erb
285
- - lib/sidekiq_unique_jobs/web/views/unique_digest.erb
286
- - lib/sidekiq_unique_jobs/web/views/unique_digests.erb
206
+ - lib/sidekiq_unique_jobs/web/views/changelogs.erb
207
+ - lib/sidekiq_unique_jobs/web/views/lock.erb
208
+ - lib/sidekiq_unique_jobs/web/views/locks.erb
287
209
  - lib/tasks/changelog.rake
288
- - redis/acquire_lock.lua
289
- - redis/convert_legacy_lock.lua
290
- - redis/delete.lua
291
- - redis/delete_by_digest.lua
292
- - redis/delete_job_by_digest.lua
293
- - redis/lock.lua
294
- - redis/release_stale_locks.lua
295
- - redis/unlock.lua
296
210
  homepage: https://mhenrixon.github.io/sidekiq-unique-jobs
297
211
  licenses:
298
212
  - MIT
@@ -301,8 +215,34 @@ metadata:
301
215
  bug_tracker_uri: https://github.com/mhenrixon/sidekiq-unique-jobs/issues
302
216
  documentation_uri: https://mhenrixon.github.io/sidekiq-unique-jobs
303
217
  source_code_uri: https://github.com/mhenrixon/sidekiq-unique-jobs
304
- changelog_uri: https://github.com/mhenrixon/sidekiq-unique-jobs/CHANGELOG.md
305
- post_install_message:
218
+ changelog_uri: https://github.com/mhenrixon/sidekiq-unique-jobs/blob/master/CHANGELOG.md
219
+ post_install_message: |
220
+ IMPORTANT!
221
+
222
+ Automatic configuration of the sidekiq middelware is no longer done.
223
+ Please see: https://github.com/mhenrixon/sidekiq-unique-jobs/blob/master/README.md#add-the-middleware
224
+
225
+ This version deprecated the following sidekiq_options
226
+
227
+ - sidekiq_options lock_args: :method_name
228
+
229
+ It is now configured with:
230
+
231
+ - sidekiq_options lock_args_method: :method_name
232
+
233
+ This is also true for `Sidekiq.default_worker_options`
234
+
235
+ We also deprecated the global configuration options:
236
+ - default_lock_ttl
237
+ - default_lock_ttl=
238
+ - default_lock_timeout
239
+ - default_lock_timeout=
240
+
241
+ The new methods to use are:
242
+ - lock_ttl
243
+ - lock_ttl=
244
+ - lock_timeout
245
+ - lock_timeout=
306
246
  rdoc_options: []
307
247
  require_paths:
308
248
  - lib
@@ -310,14 +250,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
310
250
  requirements:
311
251
  - - ">="
312
252
  - !ruby/object:Gem::Version
313
- version: '0'
253
+ version: 2.5.0
314
254
  required_rubygems_version: !ruby/object:Gem::Requirement
315
255
  requirements:
316
256
  - - ">="
317
257
  - !ruby/object:Gem::Version
318
258
  version: '0'
319
259
  requirements: []
320
- rubygems_version: 3.1.4
260
+ rubygems_version: 3.2.6
321
261
  signing_key:
322
262
  specification_version: 4
323
263
  summary: Sidekiq middleware that prevents duplicates jobs