sidekiq-unique-jobs 4.0.18 → 7.1.28

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 (296) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +1889 -94
  3. data/LICENSE.txt +21 -0
  4. data/README.md +927 -119
  5. data/bin/uniquejobs +7 -0
  6. data/lib/sidekiq-unique-jobs.rb +2 -78
  7. data/lib/sidekiq_unique_jobs/batch_delete.rb +124 -0
  8. data/lib/sidekiq_unique_jobs/changelog.rb +78 -0
  9. data/lib/sidekiq_unique_jobs/cli.rb +79 -21
  10. data/lib/sidekiq_unique_jobs/config.rb +310 -14
  11. data/lib/sidekiq_unique_jobs/connection.rb +23 -0
  12. data/lib/sidekiq_unique_jobs/constants.rb +52 -16
  13. data/lib/sidekiq_unique_jobs/core_ext.rb +114 -33
  14. data/lib/sidekiq_unique_jobs/deprecation.rb +65 -0
  15. data/lib/sidekiq_unique_jobs/digests.rb +111 -0
  16. data/lib/sidekiq_unique_jobs/exceptions.rb +105 -0
  17. data/lib/sidekiq_unique_jobs/expiring_digests.rb +14 -0
  18. data/lib/sidekiq_unique_jobs/job.rb +58 -0
  19. data/lib/sidekiq_unique_jobs/json.rb +47 -0
  20. data/lib/sidekiq_unique_jobs/key.rb +98 -0
  21. data/lib/sidekiq_unique_jobs/lock/base_lock.rb +165 -0
  22. data/lib/sidekiq_unique_jobs/lock/client_validator.rb +28 -0
  23. data/lib/sidekiq_unique_jobs/lock/server_validator.rb +27 -0
  24. data/lib/sidekiq_unique_jobs/lock/until_and_while_executing.rb +65 -7
  25. data/lib/sidekiq_unique_jobs/lock/until_executed.rb +34 -64
  26. data/lib/sidekiq_unique_jobs/lock/until_executing.rb +37 -4
  27. data/lib/sidekiq_unique_jobs/lock/until_expired.rb +42 -0
  28. data/lib/sidekiq_unique_jobs/lock/validator.rb +96 -0
  29. data/lib/sidekiq_unique_jobs/lock/while_executing.rb +53 -35
  30. data/lib/sidekiq_unique_jobs/lock/while_executing_reject.rb +21 -0
  31. data/lib/sidekiq_unique_jobs/lock.rb +338 -6
  32. data/lib/sidekiq_unique_jobs/lock_args.rb +127 -0
  33. data/lib/sidekiq_unique_jobs/lock_config.rb +126 -0
  34. data/lib/sidekiq_unique_jobs/lock_digest.rb +79 -0
  35. data/lib/sidekiq_unique_jobs/lock_info.rb +68 -0
  36. data/lib/sidekiq_unique_jobs/lock_timeout.rb +62 -0
  37. data/lib/sidekiq_unique_jobs/lock_ttl.rb +77 -0
  38. data/lib/sidekiq_unique_jobs/locksmith.rb +383 -0
  39. data/lib/sidekiq_unique_jobs/logging/middleware_context.rb +44 -0
  40. data/lib/sidekiq_unique_jobs/logging.rb +236 -0
  41. data/lib/sidekiq_unique_jobs/lua/delete.lua +51 -0
  42. data/lib/sidekiq_unique_jobs/lua/delete_by_digest.lua +42 -0
  43. data/lib/sidekiq_unique_jobs/lua/delete_job_by_digest.lua +38 -0
  44. data/lib/sidekiq_unique_jobs/lua/find_digest_in_queues.lua +26 -0
  45. data/lib/sidekiq_unique_jobs/lua/lock.lua +99 -0
  46. data/lib/sidekiq_unique_jobs/lua/lock_until_expired.lua +92 -0
  47. data/lib/sidekiq_unique_jobs/lua/locked.lua +35 -0
  48. data/lib/sidekiq_unique_jobs/lua/queue.lua +87 -0
  49. data/lib/sidekiq_unique_jobs/lua/reap_orphans.lua +122 -0
  50. data/lib/sidekiq_unique_jobs/lua/shared/_common.lua +40 -0
  51. data/lib/sidekiq_unique_jobs/lua/shared/_current_time.lua +8 -0
  52. data/lib/sidekiq_unique_jobs/lua/shared/_delete_from_queue.lua +22 -0
  53. data/lib/sidekiq_unique_jobs/lua/shared/_delete_from_sorted_set.lua +18 -0
  54. data/lib/sidekiq_unique_jobs/lua/shared/_find_digest_in_process_set.lua +53 -0
  55. data/lib/sidekiq_unique_jobs/lua/shared/_find_digest_in_queues.lua +43 -0
  56. data/lib/sidekiq_unique_jobs/lua/shared/_find_digest_in_sorted_set.lua +24 -0
  57. data/lib/sidekiq_unique_jobs/lua/shared/_hgetall.lua +13 -0
  58. data/lib/sidekiq_unique_jobs/lua/shared/_upgrades.lua +3 -0
  59. data/lib/sidekiq_unique_jobs/lua/unlock.lua +107 -0
  60. data/lib/sidekiq_unique_jobs/lua/update_version.lua +40 -0
  61. data/lib/sidekiq_unique_jobs/lua/upgrade.lua +68 -0
  62. data/lib/sidekiq_unique_jobs/middleware/client.rb +42 -0
  63. data/lib/sidekiq_unique_jobs/middleware/server.rb +31 -0
  64. data/lib/sidekiq_unique_jobs/middleware.rb +34 -29
  65. data/lib/sidekiq_unique_jobs/normalizer.rb +11 -1
  66. data/lib/sidekiq_unique_jobs/on_conflict/log.rb +24 -0
  67. data/lib/sidekiq_unique_jobs/on_conflict/null_strategy.rb +16 -0
  68. data/lib/sidekiq_unique_jobs/on_conflict/raise.rb +17 -0
  69. data/lib/sidekiq_unique_jobs/on_conflict/reject.rb +118 -0
  70. data/lib/sidekiq_unique_jobs/on_conflict/replace.rb +82 -0
  71. data/lib/sidekiq_unique_jobs/on_conflict/reschedule.rb +35 -0
  72. data/lib/sidekiq_unique_jobs/on_conflict/strategy.rb +51 -0
  73. data/lib/sidekiq_unique_jobs/on_conflict.rb +44 -0
  74. data/lib/sidekiq_unique_jobs/options_with_fallback.rb +54 -31
  75. data/lib/sidekiq_unique_jobs/orphans/lua_reaper.rb +29 -0
  76. data/lib/sidekiq_unique_jobs/orphans/manager.rb +241 -0
  77. data/lib/sidekiq_unique_jobs/orphans/null_reaper.rb +24 -0
  78. data/lib/sidekiq_unique_jobs/orphans/observer.rb +42 -0
  79. data/lib/sidekiq_unique_jobs/orphans/reaper.rb +114 -0
  80. data/lib/sidekiq_unique_jobs/orphans/reaper_resurrector.rb +170 -0
  81. data/lib/sidekiq_unique_jobs/orphans/ruby_reaper.rb +298 -0
  82. data/lib/sidekiq_unique_jobs/redis/entity.rb +112 -0
  83. data/lib/sidekiq_unique_jobs/redis/hash.rb +56 -0
  84. data/lib/sidekiq_unique_jobs/redis/list.rb +32 -0
  85. data/lib/sidekiq_unique_jobs/redis/set.rb +32 -0
  86. data/lib/sidekiq_unique_jobs/redis/sorted_set.rb +86 -0
  87. data/lib/sidekiq_unique_jobs/redis/string.rb +51 -0
  88. data/lib/sidekiq_unique_jobs/redis.rb +11 -0
  89. data/lib/sidekiq_unique_jobs/reflectable.rb +26 -0
  90. data/lib/sidekiq_unique_jobs/reflections.rb +79 -0
  91. data/lib/sidekiq_unique_jobs/rspec/matchers/have_valid_sidekiq_options.rb +51 -0
  92. data/lib/sidekiq_unique_jobs/rspec/matchers.rb +26 -0
  93. data/lib/sidekiq_unique_jobs/script/caller.rb +127 -0
  94. data/lib/sidekiq_unique_jobs/script.rb +15 -0
  95. data/lib/sidekiq_unique_jobs/server.rb +61 -0
  96. data/lib/sidekiq_unique_jobs/sidekiq_unique_ext.rb +116 -104
  97. data/lib/sidekiq_unique_jobs/sidekiq_unique_jobs.rb +304 -0
  98. data/lib/sidekiq_unique_jobs/sidekiq_worker_methods.rb +84 -0
  99. data/lib/sidekiq_unique_jobs/testing.rb +115 -50
  100. data/lib/sidekiq_unique_jobs/timer_task.rb +299 -0
  101. data/lib/sidekiq_unique_jobs/timing.rb +58 -0
  102. data/lib/sidekiq_unique_jobs/unlockable.rb +29 -33
  103. data/lib/sidekiq_unique_jobs/update_version.rb +25 -0
  104. data/lib/sidekiq_unique_jobs/upgrade_locks.rb +155 -0
  105. data/lib/sidekiq_unique_jobs/version.rb +5 -1
  106. data/lib/sidekiq_unique_jobs/version_check.rb +114 -0
  107. data/lib/sidekiq_unique_jobs/web/helpers.rb +173 -0
  108. data/lib/sidekiq_unique_jobs/web/views/_paging.erb +10 -0
  109. data/lib/sidekiq_unique_jobs/web/views/changelogs.erb +54 -0
  110. data/lib/sidekiq_unique_jobs/web/views/lock.erb +108 -0
  111. data/lib/sidekiq_unique_jobs/web/views/locks.erb +54 -0
  112. data/lib/sidekiq_unique_jobs/web.rb +109 -0
  113. data/lib/sidekiq_unique_jobs.rb +81 -0
  114. data/lib/tasks/changelog.rake +23 -0
  115. metadata +173 -251
  116. data/.codeclimate.yml +0 -22
  117. data/.dockerignore +0 -4
  118. data/.editorconfig +0 -14
  119. data/.fasterer.yml +0 -23
  120. data/.gitignore +0 -14
  121. data/.rspec +0 -3
  122. data/.rubocop.yml +0 -45
  123. data/.simplecov +0 -12
  124. data/.travis.yml +0 -43
  125. data/Appraisals +0 -31
  126. data/Gemfile +0 -16
  127. data/LICENSE +0 -13
  128. data/Rakefile +0 -12
  129. data/bin/bench +0 -19
  130. data/bin/jobs +0 -6
  131. data/circle.yml +0 -38
  132. data/gemfiles/sidekiq_2.15.gemfile +0 -9
  133. data/gemfiles/sidekiq_2.16.gemfile +0 -9
  134. data/gemfiles/sidekiq_2.17.gemfile +0 -19
  135. data/gemfiles/sidekiq_3.0.gemfile +0 -19
  136. data/gemfiles/sidekiq_3.1.gemfile +0 -19
  137. data/gemfiles/sidekiq_3.2.gemfile +0 -19
  138. data/gemfiles/sidekiq_3.3.gemfile +0 -19
  139. data/gemfiles/sidekiq_4.0.gemfile +0 -19
  140. data/gemfiles/sidekiq_4.1.gemfile +0 -19
  141. data/gemfiles/sidekiq_develop.gemfile +0 -19
  142. data/lib/sidekiq/simulator.rb +0 -75
  143. data/lib/sidekiq_unique_jobs/client/middleware.rb +0 -41
  144. data/lib/sidekiq_unique_jobs/lock/until_timeout.rb +0 -15
  145. data/lib/sidekiq_unique_jobs/run_lock_failed.rb +0 -1
  146. data/lib/sidekiq_unique_jobs/script_mock.rb +0 -68
  147. data/lib/sidekiq_unique_jobs/scripts.rb +0 -49
  148. data/lib/sidekiq_unique_jobs/server/middleware.rb +0 -34
  149. data/lib/sidekiq_unique_jobs/testing/sidekiq_overrides.rb +0 -70
  150. data/lib/sidekiq_unique_jobs/timeout_calculator.rb +0 -65
  151. data/lib/sidekiq_unique_jobs/unique_args.rb +0 -134
  152. data/lib/sidekiq_unique_jobs/util.rb +0 -91
  153. data/rails_example/.env +0 -12
  154. data/rails_example/.gitignore +0 -13
  155. data/rails_example/.rspec +0 -2
  156. data/rails_example/Gemfile +0 -34
  157. data/rails_example/Procfile +0 -2
  158. data/rails_example/README.rdoc +0 -28
  159. data/rails_example/Rakefile +0 -6
  160. data/rails_example/app/assets/images/.keep +0 -0
  161. data/rails_example/app/assets/javascripts/application.js +0 -16
  162. data/rails_example/app/assets/stylesheets/application.css +0 -15
  163. data/rails_example/app/channels/appearance_channel.rb +0 -17
  164. data/rails_example/app/channels/application_cable/channel.rb +0 -4
  165. data/rails_example/app/channels/application_cable/connection.rb +0 -9
  166. data/rails_example/app/channels/post_channel.rb +0 -5
  167. data/rails_example/app/controllers/application_controller.rb +0 -5
  168. data/rails_example/app/controllers/concerns/.keep +0 -0
  169. data/rails_example/app/controllers/work_controller.rb +0 -13
  170. data/rails_example/app/helpers/application_helper.rb +0 -2
  171. data/rails_example/app/mailers/.keep +0 -0
  172. data/rails_example/app/models/.keep +0 -0
  173. data/rails_example/app/models/application_record.rb +0 -3
  174. data/rails_example/app/models/concerns/.keep +0 -0
  175. data/rails_example/app/models/guest.rb +0 -21
  176. data/rails_example/app/models/post.rb +0 -2
  177. data/rails_example/app/views/layouts/application.html.erb +0 -15
  178. data/rails_example/app/workers/simple_worker.rb +0 -12
  179. data/rails_example/app/workers/spawn_simple_worker.rb +0 -7
  180. data/rails_example/bin/bundle +0 -3
  181. data/rails_example/bin/check_or_setup_db +0 -57
  182. data/rails_example/bin/docker-setup +0 -20
  183. data/rails_example/bin/rails +0 -4
  184. data/rails_example/bin/rake +0 -4
  185. data/rails_example/bin/setup +0 -34
  186. data/rails_example/bin/update +0 -29
  187. data/rails_example/cable.ru +0 -6
  188. data/rails_example/common-services.yml +0 -50
  189. data/rails_example/config/application.rb +0 -27
  190. data/rails_example/config/boot.rb +0 -3
  191. data/rails_example/config/cable.yml +0 -9
  192. data/rails_example/config/database.docker.yml +0 -12
  193. data/rails_example/config/database.yml +0 -19
  194. data/rails_example/config/environment.rb +0 -5
  195. data/rails_example/config/environments/development.rb +0 -54
  196. data/rails_example/config/environments/production.rb +0 -86
  197. data/rails_example/config/environments/test.rb +0 -42
  198. data/rails_example/config/initializers/application_controller_renderer.rb +0 -6
  199. data/rails_example/config/initializers/assets.rb +0 -11
  200. data/rails_example/config/initializers/backtrace_silencers.rb +0 -9
  201. data/rails_example/config/initializers/cookies_serializer.rb +0 -5
  202. data/rails_example/config/initializers/filter_parameter_logging.rb +0 -4
  203. data/rails_example/config/initializers/inflections.rb +0 -16
  204. data/rails_example/config/initializers/mime_types.rb +0 -4
  205. data/rails_example/config/initializers/new_framework_defaults.rb +0 -23
  206. data/rails_example/config/initializers/session_store.rb +0 -3
  207. data/rails_example/config/initializers/sidekiq.rb +0 -13
  208. data/rails_example/config/initializers/wrap_parameters.rb +0 -14
  209. data/rails_example/config/locales/en.yml +0 -23
  210. data/rails_example/config/puma.rb +0 -38
  211. data/rails_example/config/routes.rb +0 -6
  212. data/rails_example/config/secrets.yml +0 -22
  213. data/rails_example/config/sidekiq.yml +0 -6
  214. data/rails_example/config/spring.rb +0 -6
  215. data/rails_example/config.ru +0 -4
  216. data/rails_example/db/migrate/20160724111322_create_posts.rb +0 -12
  217. data/rails_example/db/schema.rb +0 -25
  218. data/rails_example/db/seeds.rb +0 -7
  219. data/rails_example/dev-entrypoint.sh +0 -55
  220. data/rails_example/dev.env +0 -12
  221. data/rails_example/docker/rails.Dockerfile +0 -27
  222. data/rails_example/docker-compose.yml +0 -90
  223. data/rails_example/lib/assets/.keep +0 -0
  224. data/rails_example/lib/tasks/.keep +0 -0
  225. data/rails_example/log/.keep +0 -0
  226. data/rails_example/public/404.html +0 -67
  227. data/rails_example/public/422.html +0 -67
  228. data/rails_example/public/500.html +0 -66
  229. data/rails_example/public/favicon.ico +0 -0
  230. data/rails_example/public/robots.txt +0 -5
  231. data/rails_example/simple.ru +0 -12
  232. data/rails_example/spec/controllers/work_controller_spec.rb +0 -172
  233. data/rails_example/spec/factories/posts.rb +0 -8
  234. data/rails_example/spec/models/post_spec.rb +0 -4
  235. data/rails_example/spec/rails_helper.rb +0 -21
  236. data/rails_example/spec/spec_helper.rb +0 -20
  237. data/rails_example/spec/support/sidekiq_meta.rb +0 -12
  238. data/rails_example/spec/workers/simple_worker_spec.rb +0 -4
  239. data/rails_example/vendor/assets/javascripts/.keep +0 -0
  240. data/rails_example/vendor/assets/stylesheets/.keep +0 -0
  241. data/redis/acquire_lock.lua +0 -19
  242. data/redis/release_lock.lua +0 -16
  243. data/redis/synchronize.lua +0 -16
  244. data/sidekiq-unique-jobs.gemspec +0 -25
  245. data/spec/celluloid_with_fallback.rb +0 -18
  246. data/spec/jobs/another_unique_job.rb +0 -13
  247. data/spec/jobs/custom_queue_job.rb +0 -6
  248. data/spec/jobs/custom_queue_job_with_filter_method.rb +0 -7
  249. data/spec/jobs/custom_queue_job_with_filter_proc.rb +0 -10
  250. data/spec/jobs/expiring_job.rb +0 -4
  251. data/spec/jobs/inline_worker.rb +0 -8
  252. data/spec/jobs/just_a_worker.rb +0 -8
  253. data/spec/jobs/long_running_job.rb +0 -7
  254. data/spec/jobs/main_job.rb +0 -8
  255. data/spec/jobs/my_job.rb +0 -12
  256. data/spec/jobs/my_unique_job.rb +0 -12
  257. data/spec/jobs/my_unique_job_with_filter_method.rb +0 -17
  258. data/spec/jobs/my_unique_job_with_filter_proc.rb +0 -15
  259. data/spec/jobs/notify_worker.rb +0 -10
  260. data/spec/jobs/plain_class.rb +0 -4
  261. data/spec/jobs/simple_worker.rb +0 -11
  262. data/spec/jobs/spawn_simple_worker.rb +0 -8
  263. data/spec/jobs/test_class.rb +0 -4
  264. data/spec/jobs/unique_job_with_filter_method.rb +0 -18
  265. data/spec/jobs/unique_on_all_queues_job.rb +0 -13
  266. data/spec/jobs/until_and_while_executing_job.rb +0 -8
  267. data/spec/jobs/until_executed_job.rb +0 -17
  268. data/spec/jobs/until_executing_job.rb +0 -8
  269. data/spec/jobs/until_global_timeout_job.rb +0 -8
  270. data/spec/jobs/until_timeout_job.rb +0 -8
  271. data/spec/jobs/while_executing_job.rb +0 -12
  272. data/spec/lib/sidekiq_unique_jobs/client/middleware_spec.rb +0 -321
  273. data/spec/lib/sidekiq_unique_jobs/core_ext_spec.rb +0 -25
  274. data/spec/lib/sidekiq_unique_jobs/lock/until_and_while_executing_spec.rb +0 -43
  275. data/spec/lib/sidekiq_unique_jobs/lock/until_executed_spec.rb +0 -37
  276. data/spec/lib/sidekiq_unique_jobs/lock/until_timeout_spec.rb +0 -26
  277. data/spec/lib/sidekiq_unique_jobs/lock/while_executing_spec.rb +0 -86
  278. data/spec/lib/sidekiq_unique_jobs/normalizer_spec.rb +0 -21
  279. data/spec/lib/sidekiq_unique_jobs/options_with_fallback_spec.rb +0 -113
  280. data/spec/lib/sidekiq_unique_jobs/queue_lock_timeout_calculator_spec.rb +0 -47
  281. data/spec/lib/sidekiq_unique_jobs/run_lock_timeout_calculator_spec.rb +0 -36
  282. data/spec/lib/sidekiq_unique_jobs/script_mock_spec.rb +0 -84
  283. data/spec/lib/sidekiq_unique_jobs/scripts_spec.rb +0 -77
  284. data/spec/lib/sidekiq_unique_jobs/server/middleware_spec.rb +0 -83
  285. data/spec/lib/sidekiq_unique_jobs/sidekiq_testing_enabled_spec.rb +0 -181
  286. data/spec/lib/sidekiq_unique_jobs/sidekiq_unique_ext_spec.rb +0 -80
  287. data/spec/lib/sidekiq_unique_jobs/sidekiq_unique_jobs_spec.rb +0 -41
  288. data/spec/lib/sidekiq_unique_jobs/timeout_calculator_spec.rb +0 -70
  289. data/spec/lib/sidekiq_unique_jobs/unique_args_spec.rb +0 -131
  290. data/spec/lib/sidekiq_unique_jobs/unlockable_spec.rb +0 -4
  291. data/spec/lib/sidekiq_unique_jobs/util_spec.rb +0 -53
  292. data/spec/spec_helper.rb +0 -65
  293. data/spec/support/matchers/redis_matchers.rb +0 -19
  294. data/spec/support/ruby_meta.rb +0 -10
  295. data/spec/support/sidekiq_meta.rb +0 -31
  296. data/spec/support/unique_macros.rb +0 -71
@@ -0,0 +1,81 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "brpoplpush/redis_script"
4
+ require "concurrent/future"
5
+ require "concurrent/promises"
6
+ require "concurrent/map"
7
+ require "concurrent/mutable_struct"
8
+ require "concurrent/timer_task"
9
+ require "concurrent/executor/ruby_single_thread_executor"
10
+ require "digest"
11
+ require "digest/sha1"
12
+ require "erb"
13
+ require "forwardable"
14
+ require "json"
15
+ require "pathname"
16
+ require "sidekiq"
17
+
18
+ require "sidekiq_unique_jobs/deprecation"
19
+ require "sidekiq_unique_jobs/reflections"
20
+ require "sidekiq_unique_jobs/reflectable"
21
+ require "sidekiq_unique_jobs/timer_task"
22
+ require "sidekiq_unique_jobs/version"
23
+ require "sidekiq_unique_jobs/version_check"
24
+ require "sidekiq_unique_jobs/constants"
25
+ require "sidekiq_unique_jobs/json"
26
+ require "sidekiq_unique_jobs/logging"
27
+ require "sidekiq_unique_jobs/logging/middleware_context"
28
+ require "sidekiq_unique_jobs/timing"
29
+ require "sidekiq_unique_jobs/sidekiq_worker_methods"
30
+ require "sidekiq_unique_jobs/connection"
31
+ require "sidekiq_unique_jobs/exceptions"
32
+ require "sidekiq_unique_jobs/script"
33
+ require "sidekiq_unique_jobs/script/caller"
34
+ require "sidekiq_unique_jobs/normalizer"
35
+ require "sidekiq_unique_jobs/job"
36
+ require "sidekiq_unique_jobs/redis"
37
+ require "sidekiq_unique_jobs/redis/entity"
38
+ require "sidekiq_unique_jobs/redis/hash"
39
+ require "sidekiq_unique_jobs/redis/list"
40
+ require "sidekiq_unique_jobs/redis/set"
41
+ require "sidekiq_unique_jobs/redis/sorted_set"
42
+ require "sidekiq_unique_jobs/redis/string"
43
+ require "sidekiq_unique_jobs/batch_delete"
44
+ require "sidekiq_unique_jobs/orphans/reaper"
45
+ require "sidekiq_unique_jobs/orphans/observer"
46
+ require "sidekiq_unique_jobs/orphans/manager"
47
+ require "sidekiq_unique_jobs/orphans/reaper_resurrector"
48
+ require "sidekiq_unique_jobs/cli"
49
+ require "sidekiq_unique_jobs/core_ext"
50
+ require "sidekiq_unique_jobs/lock_timeout"
51
+ require "sidekiq_unique_jobs/lock_ttl"
52
+ require "sidekiq_unique_jobs/lock_args"
53
+ require "sidekiq_unique_jobs/lock_digest"
54
+ require "sidekiq_unique_jobs/unlockable"
55
+ require "sidekiq_unique_jobs/key"
56
+ require "sidekiq_unique_jobs/locksmith"
57
+ require "sidekiq_unique_jobs/options_with_fallback"
58
+ require "sidekiq_unique_jobs/lock"
59
+ require "sidekiq_unique_jobs/lock_config"
60
+ require "sidekiq_unique_jobs/lock_info"
61
+ require "sidekiq_unique_jobs/lock/base_lock"
62
+ require "sidekiq_unique_jobs/lock/until_executed"
63
+ require "sidekiq_unique_jobs/lock/until_executing"
64
+ require "sidekiq_unique_jobs/lock/until_expired"
65
+ require "sidekiq_unique_jobs/lock/while_executing"
66
+ require "sidekiq_unique_jobs/lock/while_executing_reject"
67
+ require "sidekiq_unique_jobs/lock/until_and_while_executing"
68
+ require "sidekiq_unique_jobs/middleware"
69
+ require "sidekiq_unique_jobs/middleware/client"
70
+ require "sidekiq_unique_jobs/middleware/server"
71
+ require "sidekiq_unique_jobs/sidekiq_unique_ext"
72
+ require "sidekiq_unique_jobs/on_conflict"
73
+ require "sidekiq_unique_jobs/changelog"
74
+ require "sidekiq_unique_jobs/digests"
75
+ require "sidekiq_unique_jobs/expiring_digests"
76
+
77
+ require "sidekiq_unique_jobs/config"
78
+ require "sidekiq_unique_jobs/sidekiq_unique_jobs"
79
+ require "sidekiq_unique_jobs/update_version"
80
+ require "sidekiq_unique_jobs/upgrade_locks"
81
+ require "sidekiq_unique_jobs/server"
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ # rubocop:disable Style/MutableConstant
4
+ CHANGELOG_CMD = %w[
5
+ github_changelog_generator
6
+ --no-verbose
7
+ --user
8
+ mhenrixon
9
+ --project
10
+ sidekiq-unique-jobs
11
+ --token
12
+ ]
13
+ ADD_CHANGELOG_CMD = "git add --all"
14
+ COMMIT_CHANGELOG_CMD = "git commit -a -m 'Update changelog'"
15
+ # rubocop:enable Style/MutableConstant
16
+
17
+ desc "Generate a Changelog"
18
+ task :changelog do
19
+ sh("git checkout main")
20
+ sh(*CHANGELOG_CMD.push(ENV.fetch("CHANGELOG_GITHUB_TOKEN", nil)))
21
+ sh(ADD_CHANGELOG_CMD)
22
+ sh(COMMIT_CHANGELOG_CMD)
23
+ end
metadata CHANGED
@@ -1,327 +1,250 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sidekiq-unique-jobs
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.0.18
4
+ version: 7.1.28
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mikael Henriksson
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-07-24 00:00:00.000000000 Z
11
+ date: 2022-12-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: sidekiq
14
+ name: brpoplpush-redis_script
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">="
17
+ - - ">"
18
18
  - !ruby/object:Gem::Version
19
- version: '2.6'
20
- type: :runtime
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - ">="
25
- - !ruby/object:Gem::Version
26
- version: '2.6'
27
- - !ruby/object:Gem::Dependency
28
- name: thor
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - ">="
19
+ version: 0.1.1
20
+ - - "<="
32
21
  - !ruby/object:Gem::Version
33
- version: '0'
22
+ version: 2.0.0
34
23
  type: :runtime
35
24
  prerelease: false
36
25
  version_requirements: !ruby/object:Gem::Requirement
37
26
  requirements:
38
- - - ">="
27
+ - - ">"
39
28
  - !ruby/object:Gem::Version
40
- version: '0'
29
+ version: 0.1.1
30
+ - - "<="
31
+ - !ruby/object:Gem::Version
32
+ version: 2.0.0
41
33
  - !ruby/object:Gem::Dependency
42
- name: rspec
34
+ name: concurrent-ruby
43
35
  requirement: !ruby/object:Gem::Requirement
44
36
  requirements:
45
37
  - - "~>"
46
38
  - !ruby/object:Gem::Version
47
- version: '3.1'
48
- type: :development
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - "~>"
53
- - !ruby/object:Gem::Version
54
- version: '3.1'
55
- - !ruby/object:Gem::Dependency
56
- name: rake
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
39
+ version: '1.0'
59
40
  - - ">="
60
41
  - !ruby/object:Gem::Version
61
- version: '0'
62
- type: :development
42
+ version: 1.0.5
43
+ type: :runtime
63
44
  prerelease: false
64
45
  version_requirements: !ruby/object:Gem::Requirement
65
46
  requirements:
66
- - - ">="
47
+ - - "~>"
67
48
  - !ruby/object:Gem::Version
68
- version: '0'
69
- - !ruby/object:Gem::Dependency
70
- name: rubocop
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
49
+ version: '1.0'
73
50
  - - ">="
74
51
  - !ruby/object:Gem::Version
75
- version: '0'
76
- type: :development
77
- prerelease: false
78
- version_requirements: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - ">="
81
- - !ruby/object:Gem::Version
82
- version: '0'
52
+ version: 1.0.5
83
53
  - !ruby/object:Gem::Dependency
84
- name: timecop
54
+ name: sidekiq
85
55
  requirement: !ruby/object:Gem::Requirement
86
56
  requirements:
87
57
  - - ">="
88
58
  - !ruby/object:Gem::Version
89
- version: '0'
90
- type: :development
59
+ version: '5.0'
60
+ - - "<"
61
+ - !ruby/object:Gem::Version
62
+ version: '8.0'
63
+ type: :runtime
91
64
  prerelease: false
92
65
  version_requirements: !ruby/object:Gem::Requirement
93
66
  requirements:
94
67
  - - ">="
95
68
  - !ruby/object:Gem::Version
96
- version: '0'
69
+ version: '5.0'
70
+ - - "<"
71
+ - !ruby/object:Gem::Version
72
+ version: '8.0'
97
73
  - !ruby/object:Gem::Dependency
98
- name: yard
74
+ name: thor
99
75
  requirement: !ruby/object:Gem::Requirement
100
76
  requirements:
101
77
  - - ">="
102
78
  - !ruby/object:Gem::Version
103
- version: '0'
104
- type: :development
79
+ version: '0.20'
80
+ - - "<"
81
+ - !ruby/object:Gem::Version
82
+ version: '3.0'
83
+ type: :runtime
105
84
  prerelease: false
106
85
  version_requirements: !ruby/object:Gem::Requirement
107
86
  requirements:
108
87
  - - ">="
109
88
  - !ruby/object:Gem::Version
110
- version: '0'
111
- description: The unique jobs that were removed from sidekiq
89
+ version: '0.20'
90
+ - - "<"
91
+ - !ruby/object:Gem::Version
92
+ version: '3.0'
93
+ description: |
94
+ Prevents simultaneous Sidekiq jobs with the same unique arguments to run.
95
+ Highly configurable to suite your specific needs.
112
96
  email:
113
- - mikael@zoolutions.se
97
+ - mikael@mhenrixon.com
114
98
  executables:
115
- - jobs
99
+ - uniquejobs
116
100
  extensions: []
117
101
  extra_rdoc_files: []
118
102
  files:
119
- - ".codeclimate.yml"
120
- - ".dockerignore"
121
- - ".editorconfig"
122
- - ".fasterer.yml"
123
- - ".gitignore"
124
- - ".rspec"
125
- - ".rubocop.yml"
126
- - ".simplecov"
127
- - ".travis.yml"
128
- - Appraisals
129
103
  - CHANGELOG.md
130
- - Gemfile
131
- - LICENSE
104
+ - LICENSE.txt
132
105
  - README.md
133
- - Rakefile
134
- - bin/bench
135
- - bin/jobs
136
- - circle.yml
137
- - gemfiles/sidekiq_2.15.gemfile
138
- - gemfiles/sidekiq_2.16.gemfile
139
- - gemfiles/sidekiq_2.17.gemfile
140
- - gemfiles/sidekiq_3.0.gemfile
141
- - gemfiles/sidekiq_3.1.gemfile
142
- - gemfiles/sidekiq_3.2.gemfile
143
- - gemfiles/sidekiq_3.3.gemfile
144
- - gemfiles/sidekiq_4.0.gemfile
145
- - gemfiles/sidekiq_4.1.gemfile
146
- - gemfiles/sidekiq_develop.gemfile
106
+ - bin/uniquejobs
147
107
  - lib/sidekiq-unique-jobs.rb
148
- - lib/sidekiq/simulator.rb
108
+ - lib/sidekiq_unique_jobs.rb
109
+ - lib/sidekiq_unique_jobs/batch_delete.rb
110
+ - lib/sidekiq_unique_jobs/changelog.rb
149
111
  - lib/sidekiq_unique_jobs/cli.rb
150
- - lib/sidekiq_unique_jobs/client/middleware.rb
151
112
  - lib/sidekiq_unique_jobs/config.rb
113
+ - lib/sidekiq_unique_jobs/connection.rb
152
114
  - lib/sidekiq_unique_jobs/constants.rb
153
115
  - lib/sidekiq_unique_jobs/core_ext.rb
116
+ - lib/sidekiq_unique_jobs/deprecation.rb
117
+ - lib/sidekiq_unique_jobs/digests.rb
118
+ - lib/sidekiq_unique_jobs/exceptions.rb
119
+ - lib/sidekiq_unique_jobs/expiring_digests.rb
120
+ - lib/sidekiq_unique_jobs/job.rb
121
+ - lib/sidekiq_unique_jobs/json.rb
122
+ - lib/sidekiq_unique_jobs/key.rb
154
123
  - lib/sidekiq_unique_jobs/lock.rb
124
+ - lib/sidekiq_unique_jobs/lock/base_lock.rb
125
+ - lib/sidekiq_unique_jobs/lock/client_validator.rb
126
+ - lib/sidekiq_unique_jobs/lock/server_validator.rb
155
127
  - lib/sidekiq_unique_jobs/lock/until_and_while_executing.rb
156
128
  - lib/sidekiq_unique_jobs/lock/until_executed.rb
157
129
  - lib/sidekiq_unique_jobs/lock/until_executing.rb
158
- - lib/sidekiq_unique_jobs/lock/until_timeout.rb
130
+ - lib/sidekiq_unique_jobs/lock/until_expired.rb
131
+ - lib/sidekiq_unique_jobs/lock/validator.rb
159
132
  - lib/sidekiq_unique_jobs/lock/while_executing.rb
133
+ - lib/sidekiq_unique_jobs/lock/while_executing_reject.rb
134
+ - lib/sidekiq_unique_jobs/lock_args.rb
135
+ - lib/sidekiq_unique_jobs/lock_config.rb
136
+ - lib/sidekiq_unique_jobs/lock_digest.rb
137
+ - lib/sidekiq_unique_jobs/lock_info.rb
138
+ - lib/sidekiq_unique_jobs/lock_timeout.rb
139
+ - lib/sidekiq_unique_jobs/lock_ttl.rb
140
+ - lib/sidekiq_unique_jobs/locksmith.rb
141
+ - lib/sidekiq_unique_jobs/logging.rb
142
+ - lib/sidekiq_unique_jobs/logging/middleware_context.rb
143
+ - lib/sidekiq_unique_jobs/lua/delete.lua
144
+ - lib/sidekiq_unique_jobs/lua/delete_by_digest.lua
145
+ - lib/sidekiq_unique_jobs/lua/delete_job_by_digest.lua
146
+ - lib/sidekiq_unique_jobs/lua/find_digest_in_queues.lua
147
+ - lib/sidekiq_unique_jobs/lua/lock.lua
148
+ - lib/sidekiq_unique_jobs/lua/lock_until_expired.lua
149
+ - lib/sidekiq_unique_jobs/lua/locked.lua
150
+ - lib/sidekiq_unique_jobs/lua/queue.lua
151
+ - lib/sidekiq_unique_jobs/lua/reap_orphans.lua
152
+ - lib/sidekiq_unique_jobs/lua/shared/_common.lua
153
+ - lib/sidekiq_unique_jobs/lua/shared/_current_time.lua
154
+ - lib/sidekiq_unique_jobs/lua/shared/_delete_from_queue.lua
155
+ - lib/sidekiq_unique_jobs/lua/shared/_delete_from_sorted_set.lua
156
+ - lib/sidekiq_unique_jobs/lua/shared/_find_digest_in_process_set.lua
157
+ - lib/sidekiq_unique_jobs/lua/shared/_find_digest_in_queues.lua
158
+ - lib/sidekiq_unique_jobs/lua/shared/_find_digest_in_sorted_set.lua
159
+ - lib/sidekiq_unique_jobs/lua/shared/_hgetall.lua
160
+ - lib/sidekiq_unique_jobs/lua/shared/_upgrades.lua
161
+ - lib/sidekiq_unique_jobs/lua/unlock.lua
162
+ - lib/sidekiq_unique_jobs/lua/update_version.lua
163
+ - lib/sidekiq_unique_jobs/lua/upgrade.lua
160
164
  - lib/sidekiq_unique_jobs/middleware.rb
165
+ - lib/sidekiq_unique_jobs/middleware/client.rb
166
+ - lib/sidekiq_unique_jobs/middleware/server.rb
161
167
  - lib/sidekiq_unique_jobs/normalizer.rb
168
+ - lib/sidekiq_unique_jobs/on_conflict.rb
169
+ - lib/sidekiq_unique_jobs/on_conflict/log.rb
170
+ - lib/sidekiq_unique_jobs/on_conflict/null_strategy.rb
171
+ - lib/sidekiq_unique_jobs/on_conflict/raise.rb
172
+ - lib/sidekiq_unique_jobs/on_conflict/reject.rb
173
+ - lib/sidekiq_unique_jobs/on_conflict/replace.rb
174
+ - lib/sidekiq_unique_jobs/on_conflict/reschedule.rb
175
+ - lib/sidekiq_unique_jobs/on_conflict/strategy.rb
162
176
  - lib/sidekiq_unique_jobs/options_with_fallback.rb
163
- - lib/sidekiq_unique_jobs/run_lock_failed.rb
164
- - lib/sidekiq_unique_jobs/script_mock.rb
165
- - lib/sidekiq_unique_jobs/scripts.rb
166
- - lib/sidekiq_unique_jobs/server/middleware.rb
177
+ - lib/sidekiq_unique_jobs/orphans/lua_reaper.rb
178
+ - lib/sidekiq_unique_jobs/orphans/manager.rb
179
+ - lib/sidekiq_unique_jobs/orphans/null_reaper.rb
180
+ - lib/sidekiq_unique_jobs/orphans/observer.rb
181
+ - lib/sidekiq_unique_jobs/orphans/reaper.rb
182
+ - lib/sidekiq_unique_jobs/orphans/reaper_resurrector.rb
183
+ - lib/sidekiq_unique_jobs/orphans/ruby_reaper.rb
184
+ - lib/sidekiq_unique_jobs/redis.rb
185
+ - lib/sidekiq_unique_jobs/redis/entity.rb
186
+ - lib/sidekiq_unique_jobs/redis/hash.rb
187
+ - lib/sidekiq_unique_jobs/redis/list.rb
188
+ - lib/sidekiq_unique_jobs/redis/set.rb
189
+ - lib/sidekiq_unique_jobs/redis/sorted_set.rb
190
+ - lib/sidekiq_unique_jobs/redis/string.rb
191
+ - lib/sidekiq_unique_jobs/reflectable.rb
192
+ - lib/sidekiq_unique_jobs/reflections.rb
193
+ - lib/sidekiq_unique_jobs/rspec/matchers.rb
194
+ - lib/sidekiq_unique_jobs/rspec/matchers/have_valid_sidekiq_options.rb
195
+ - lib/sidekiq_unique_jobs/script.rb
196
+ - lib/sidekiq_unique_jobs/script/caller.rb
197
+ - lib/sidekiq_unique_jobs/server.rb
167
198
  - lib/sidekiq_unique_jobs/sidekiq_unique_ext.rb
199
+ - lib/sidekiq_unique_jobs/sidekiq_unique_jobs.rb
200
+ - lib/sidekiq_unique_jobs/sidekiq_worker_methods.rb
168
201
  - lib/sidekiq_unique_jobs/testing.rb
169
- - lib/sidekiq_unique_jobs/testing/sidekiq_overrides.rb
170
- - lib/sidekiq_unique_jobs/timeout_calculator.rb
171
- - lib/sidekiq_unique_jobs/unique_args.rb
202
+ - lib/sidekiq_unique_jobs/timer_task.rb
203
+ - lib/sidekiq_unique_jobs/timing.rb
172
204
  - lib/sidekiq_unique_jobs/unlockable.rb
173
- - lib/sidekiq_unique_jobs/util.rb
205
+ - lib/sidekiq_unique_jobs/update_version.rb
206
+ - lib/sidekiq_unique_jobs/upgrade_locks.rb
174
207
  - lib/sidekiq_unique_jobs/version.rb
175
- - rails_example/.env
176
- - rails_example/.gitignore
177
- - rails_example/.rspec
178
- - rails_example/Gemfile
179
- - rails_example/Procfile
180
- - rails_example/README.rdoc
181
- - rails_example/Rakefile
182
- - rails_example/app/assets/images/.keep
183
- - rails_example/app/assets/javascripts/application.js
184
- - rails_example/app/assets/stylesheets/application.css
185
- - rails_example/app/channels/appearance_channel.rb
186
- - rails_example/app/channels/application_cable/channel.rb
187
- - rails_example/app/channels/application_cable/connection.rb
188
- - rails_example/app/channels/post_channel.rb
189
- - rails_example/app/controllers/application_controller.rb
190
- - rails_example/app/controllers/concerns/.keep
191
- - rails_example/app/controllers/work_controller.rb
192
- - rails_example/app/helpers/application_helper.rb
193
- - rails_example/app/mailers/.keep
194
- - rails_example/app/models/.keep
195
- - rails_example/app/models/application_record.rb
196
- - rails_example/app/models/concerns/.keep
197
- - rails_example/app/models/guest.rb
198
- - rails_example/app/models/post.rb
199
- - rails_example/app/views/layouts/application.html.erb
200
- - rails_example/app/workers/simple_worker.rb
201
- - rails_example/app/workers/spawn_simple_worker.rb
202
- - rails_example/bin/bundle
203
- - rails_example/bin/check_or_setup_db
204
- - rails_example/bin/docker-setup
205
- - rails_example/bin/rails
206
- - rails_example/bin/rake
207
- - rails_example/bin/setup
208
- - rails_example/bin/update
209
- - rails_example/cable.ru
210
- - rails_example/common-services.yml
211
- - rails_example/config.ru
212
- - rails_example/config/application.rb
213
- - rails_example/config/boot.rb
214
- - rails_example/config/cable.yml
215
- - rails_example/config/database.docker.yml
216
- - rails_example/config/database.yml
217
- - rails_example/config/environment.rb
218
- - rails_example/config/environments/development.rb
219
- - rails_example/config/environments/production.rb
220
- - rails_example/config/environments/test.rb
221
- - rails_example/config/initializers/application_controller_renderer.rb
222
- - rails_example/config/initializers/assets.rb
223
- - rails_example/config/initializers/backtrace_silencers.rb
224
- - rails_example/config/initializers/cookies_serializer.rb
225
- - rails_example/config/initializers/filter_parameter_logging.rb
226
- - rails_example/config/initializers/inflections.rb
227
- - rails_example/config/initializers/mime_types.rb
228
- - rails_example/config/initializers/new_framework_defaults.rb
229
- - rails_example/config/initializers/session_store.rb
230
- - rails_example/config/initializers/sidekiq.rb
231
- - rails_example/config/initializers/wrap_parameters.rb
232
- - rails_example/config/locales/en.yml
233
- - rails_example/config/puma.rb
234
- - rails_example/config/routes.rb
235
- - rails_example/config/secrets.yml
236
- - rails_example/config/sidekiq.yml
237
- - rails_example/config/spring.rb
238
- - rails_example/db/migrate/20160724111322_create_posts.rb
239
- - rails_example/db/schema.rb
240
- - rails_example/db/seeds.rb
241
- - rails_example/dev-entrypoint.sh
242
- - rails_example/dev.env
243
- - rails_example/docker-compose.yml
244
- - rails_example/docker/rails.Dockerfile
245
- - rails_example/lib/assets/.keep
246
- - rails_example/lib/tasks/.keep
247
- - rails_example/log/.keep
248
- - rails_example/public/404.html
249
- - rails_example/public/422.html
250
- - rails_example/public/500.html
251
- - rails_example/public/favicon.ico
252
- - rails_example/public/robots.txt
253
- - rails_example/simple.ru
254
- - rails_example/spec/controllers/work_controller_spec.rb
255
- - rails_example/spec/factories/posts.rb
256
- - rails_example/spec/models/post_spec.rb
257
- - rails_example/spec/rails_helper.rb
258
- - rails_example/spec/spec_helper.rb
259
- - rails_example/spec/support/sidekiq_meta.rb
260
- - rails_example/spec/workers/simple_worker_spec.rb
261
- - rails_example/vendor/assets/javascripts/.keep
262
- - rails_example/vendor/assets/stylesheets/.keep
263
- - redis/acquire_lock.lua
264
- - redis/release_lock.lua
265
- - redis/synchronize.lua
266
- - sidekiq-unique-jobs.gemspec
267
- - spec/celluloid_with_fallback.rb
268
- - spec/jobs/another_unique_job.rb
269
- - spec/jobs/custom_queue_job.rb
270
- - spec/jobs/custom_queue_job_with_filter_method.rb
271
- - spec/jobs/custom_queue_job_with_filter_proc.rb
272
- - spec/jobs/expiring_job.rb
273
- - spec/jobs/inline_worker.rb
274
- - spec/jobs/just_a_worker.rb
275
- - spec/jobs/long_running_job.rb
276
- - spec/jobs/main_job.rb
277
- - spec/jobs/my_job.rb
278
- - spec/jobs/my_unique_job.rb
279
- - spec/jobs/my_unique_job_with_filter_method.rb
280
- - spec/jobs/my_unique_job_with_filter_proc.rb
281
- - spec/jobs/notify_worker.rb
282
- - spec/jobs/plain_class.rb
283
- - spec/jobs/simple_worker.rb
284
- - spec/jobs/spawn_simple_worker.rb
285
- - spec/jobs/test_class.rb
286
- - spec/jobs/unique_job_with_filter_method.rb
287
- - spec/jobs/unique_on_all_queues_job.rb
288
- - spec/jobs/until_and_while_executing_job.rb
289
- - spec/jobs/until_executed_job.rb
290
- - spec/jobs/until_executing_job.rb
291
- - spec/jobs/until_global_timeout_job.rb
292
- - spec/jobs/until_timeout_job.rb
293
- - spec/jobs/while_executing_job.rb
294
- - spec/lib/sidekiq_unique_jobs/client/middleware_spec.rb
295
- - spec/lib/sidekiq_unique_jobs/core_ext_spec.rb
296
- - spec/lib/sidekiq_unique_jobs/lock/until_and_while_executing_spec.rb
297
- - spec/lib/sidekiq_unique_jobs/lock/until_executed_spec.rb
298
- - spec/lib/sidekiq_unique_jobs/lock/until_timeout_spec.rb
299
- - spec/lib/sidekiq_unique_jobs/lock/while_executing_spec.rb
300
- - spec/lib/sidekiq_unique_jobs/normalizer_spec.rb
301
- - spec/lib/sidekiq_unique_jobs/options_with_fallback_spec.rb
302
- - spec/lib/sidekiq_unique_jobs/queue_lock_timeout_calculator_spec.rb
303
- - spec/lib/sidekiq_unique_jobs/run_lock_timeout_calculator_spec.rb
304
- - spec/lib/sidekiq_unique_jobs/script_mock_spec.rb
305
- - spec/lib/sidekiq_unique_jobs/scripts_spec.rb
306
- - spec/lib/sidekiq_unique_jobs/server/middleware_spec.rb
307
- - spec/lib/sidekiq_unique_jobs/sidekiq_testing_enabled_spec.rb
308
- - spec/lib/sidekiq_unique_jobs/sidekiq_unique_ext_spec.rb
309
- - spec/lib/sidekiq_unique_jobs/sidekiq_unique_jobs_spec.rb
310
- - spec/lib/sidekiq_unique_jobs/timeout_calculator_spec.rb
311
- - spec/lib/sidekiq_unique_jobs/unique_args_spec.rb
312
- - spec/lib/sidekiq_unique_jobs/unlockable_spec.rb
313
- - spec/lib/sidekiq_unique_jobs/util_spec.rb
314
- - spec/spec_helper.rb
315
- - spec/support/matchers/redis_matchers.rb
316
- - spec/support/ruby_meta.rb
317
- - spec/support/sidekiq_meta.rb
318
- - spec/support/unique_macros.rb
208
+ - lib/sidekiq_unique_jobs/version_check.rb
209
+ - lib/sidekiq_unique_jobs/web.rb
210
+ - lib/sidekiq_unique_jobs/web/helpers.rb
211
+ - lib/sidekiq_unique_jobs/web/views/_paging.erb
212
+ - lib/sidekiq_unique_jobs/web/views/changelogs.erb
213
+ - lib/sidekiq_unique_jobs/web/views/lock.erb
214
+ - lib/sidekiq_unique_jobs/web/views/locks.erb
215
+ - lib/tasks/changelog.rake
319
216
  homepage: https://github.com/mhenrixon/sidekiq-unique-jobs
320
217
  licenses:
321
- - WTFPL-2.0
322
- metadata: {}
323
- post_install_message: 'WARNING: VERSION 4.0.0 HAS BREAKING CHANGES! Please see Readme
324
- for info'
218
+ - MIT
219
+ metadata:
220
+ rubygems_mfa_required: 'true'
221
+ post_install_message: |
222
+ IMPORTANT!
223
+
224
+ Automatic configuration of the sidekiq middleware is no longer done.
225
+ Please see: https://github.com/mhenrixon/sidekiq-unique-jobs/blob/master/README.md#add-the-middleware
226
+
227
+ This version deprecated the following sidekiq_options
228
+
229
+ - sidekiq_options lock_args: :method_name
230
+
231
+ It is now configured with:
232
+
233
+ - sidekiq_options lock_args_method: :method_name
234
+
235
+ This is also true for `Sidekiq.default_worker_options`
236
+
237
+ We also deprecated the global configuration options:
238
+ - default_lock_ttl
239
+ - default_lock_ttl=
240
+ - default_lock_timeout
241
+ - default_lock_timeout=
242
+
243
+ The new methods to use are:
244
+ - lock_ttl
245
+ - lock_ttl=
246
+ - lock_timeout
247
+ - lock_timeout=
325
248
  rdoc_options: []
326
249
  require_paths:
327
250
  - lib
@@ -329,16 +252,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
329
252
  requirements:
330
253
  - - ">="
331
254
  - !ruby/object:Gem::Version
332
- version: '0'
255
+ version: '2.5'
333
256
  required_rubygems_version: !ruby/object:Gem::Requirement
334
257
  requirements:
335
258
  - - ">="
336
259
  - !ruby/object:Gem::Version
337
260
  version: '0'
338
261
  requirements: []
339
- rubyforge_project:
340
- rubygems_version: 2.5.1
341
- signing_key:
262
+ rubygems_version: 3.3.26
263
+ signing_key:
342
264
  specification_version: 4
343
- summary: The unique jobs that were removed from sidekiq
265
+ summary: Sidekiq middleware that prevents duplicates jobs
344
266
  test_files: []
data/.codeclimate.yml DELETED
@@ -1,22 +0,0 @@
1
- engines:
2
- bundler-audit:
3
- enabled: true
4
- fixme:
5
- enabled: true
6
- duplication:
7
- enabled: true
8
- rubocop:
9
- enabled: true
10
- golint:
11
- enabled: true
12
- ratings:
13
- paths:
14
- - lib/**
15
- - bin/**
16
- - "**.rb"
17
- exclude_paths:
18
- - spec/
19
- - gemfiles/
20
- - rails_example/
21
- - redis/
22
- - tmp/
data/.dockerignore DELETED
@@ -1,4 +0,0 @@
1
- tmp/restart.txt
2
- tmp/cache
3
- tmp/pids
4
- tmp/sockets
data/.editorconfig DELETED
@@ -1,14 +0,0 @@
1
- # This file is for unifying the coding style for different editors and IDEs
2
- # editorconfig.org
3
-
4
- root = true
5
-
6
- [*]
7
- charset = utf-8
8
- trim_trailing_whitespace = true
9
- insert_final_newline = true
10
- indent_style = space
11
- indent_size = 2
12
-
13
- [*.md]
14
- trim_trailing_whitespace = true