sidekiq-unique-jobs 6.0.7 → 7.1.33

Sign up to get free protection for your applications and to get access to all the features.
Files changed (194) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +1880 -156
  3. data/README.md +818 -238
  4. data/bin/uniquejobs +2 -2
  5. data/lib/sidekiq-unique-jobs.rb +1 -1
  6. data/lib/sidekiq_unique_jobs/batch_delete.rb +124 -0
  7. data/lib/sidekiq_unique_jobs/changelog.rb +78 -0
  8. data/lib/sidekiq_unique_jobs/cli.rb +68 -25
  9. data/lib/sidekiq_unique_jobs/config.rb +319 -0
  10. data/lib/sidekiq_unique_jobs/connection.rb +6 -5
  11. data/lib/sidekiq_unique_jobs/constants.rb +50 -20
  12. data/lib/sidekiq_unique_jobs/core_ext.rb +80 -0
  13. data/lib/sidekiq_unique_jobs/deprecation.rb +65 -0
  14. data/lib/sidekiq_unique_jobs/digests.rb +70 -87
  15. data/lib/sidekiq_unique_jobs/exceptions.rb +88 -12
  16. data/lib/sidekiq_unique_jobs/expiring_digests.rb +14 -0
  17. data/lib/sidekiq_unique_jobs/job.rb +47 -13
  18. data/lib/sidekiq_unique_jobs/json.rb +47 -0
  19. data/lib/sidekiq_unique_jobs/key.rb +98 -0
  20. data/lib/sidekiq_unique_jobs/lock/base_lock.rb +111 -82
  21. data/lib/sidekiq_unique_jobs/lock/client_validator.rb +28 -0
  22. data/lib/sidekiq_unique_jobs/lock/server_validator.rb +27 -0
  23. data/lib/sidekiq_unique_jobs/lock/until_and_while_executing.rb +45 -5
  24. data/lib/sidekiq_unique_jobs/lock/until_executed.rb +30 -4
  25. data/lib/sidekiq_unique_jobs/lock/until_executing.rb +26 -2
  26. data/lib/sidekiq_unique_jobs/lock/until_expired.rb +27 -15
  27. data/lib/sidekiq_unique_jobs/lock/validator.rb +96 -0
  28. data/lib/sidekiq_unique_jobs/lock/while_executing.rb +26 -7
  29. data/lib/sidekiq_unique_jobs/lock/while_executing_reject.rb +3 -11
  30. data/lib/sidekiq_unique_jobs/lock.rb +342 -0
  31. data/lib/sidekiq_unique_jobs/lock_args.rb +127 -0
  32. data/lib/sidekiq_unique_jobs/lock_config.rb +126 -0
  33. data/lib/sidekiq_unique_jobs/lock_digest.rb +79 -0
  34. data/lib/sidekiq_unique_jobs/lock_info.rb +68 -0
  35. data/lib/sidekiq_unique_jobs/lock_timeout.rb +62 -0
  36. data/lib/sidekiq_unique_jobs/lock_ttl.rb +77 -0
  37. data/lib/sidekiq_unique_jobs/lock_type.rb +37 -0
  38. data/lib/sidekiq_unique_jobs/locksmith.rb +324 -95
  39. data/lib/sidekiq_unique_jobs/logging/middleware_context.rb +44 -0
  40. data/lib/sidekiq_unique_jobs/logging.rb +208 -30
  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 +33 -30
  65. data/lib/sidekiq_unique_jobs/normalizer.rb +4 -4
  66. data/lib/sidekiq_unique_jobs/on_conflict/log.rb +9 -5
  67. data/lib/sidekiq_unique_jobs/on_conflict/null_strategy.rb +1 -1
  68. data/lib/sidekiq_unique_jobs/on_conflict/raise.rb +2 -2
  69. data/lib/sidekiq_unique_jobs/on_conflict/reject.rb +63 -17
  70. data/lib/sidekiq_unique_jobs/on_conflict/replace.rb +54 -14
  71. data/lib/sidekiq_unique_jobs/on_conflict/reschedule.rb +16 -5
  72. data/lib/sidekiq_unique_jobs/on_conflict/strategy.rb +26 -7
  73. data/lib/sidekiq_unique_jobs/on_conflict.rb +34 -16
  74. data/lib/sidekiq_unique_jobs/options_with_fallback.rb +39 -36
  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 +115 -66
  97. data/lib/sidekiq_unique_jobs/sidekiq_unique_jobs.rb +304 -0
  98. data/lib/sidekiq_unique_jobs/sidekiq_worker_methods.rb +51 -29
  99. data/lib/sidekiq_unique_jobs/testing.rb +104 -31
  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 +20 -4
  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 +3 -1
  106. data/lib/sidekiq_unique_jobs/version_check.rb +114 -0
  107. data/lib/sidekiq_unique_jobs/web/helpers.rb +140 -15
  108. data/lib/sidekiq_unique_jobs/web/views/_paging.erb +4 -4
  109. data/lib/sidekiq_unique_jobs/web/views/changelogs.erb +54 -0
  110. data/lib/sidekiq_unique_jobs/web/views/lock.erb +110 -0
  111. data/lib/sidekiq_unique_jobs/web/views/locks.erb +54 -0
  112. data/lib/sidekiq_unique_jobs/web.rb +86 -29
  113. data/lib/sidekiq_unique_jobs.rb +78 -105
  114. data/lib/tasks/changelog.rake +23 -0
  115. metadata +154 -218
  116. data/.codeclimate.yml +0 -35
  117. data/.csslintrc +0 -2
  118. data/.dockerignore +0 -4
  119. data/.editorconfig +0 -14
  120. data/.eslintignore +0 -1
  121. data/.eslintrc +0 -213
  122. data/.fasterer.yml +0 -23
  123. data/.github/ISSUE_TEMPLATE/bug_report.md +0 -31
  124. data/.github/ISSUE_TEMPLATE/feature_request.md +0 -17
  125. data/.gitignore +0 -28
  126. data/.reek.yml +0 -87
  127. data/.rspec +0 -2
  128. data/.rubocop.yml +0 -127
  129. data/.simplecov +0 -20
  130. data/.travis.yml +0 -47
  131. data/.yardopts +0 -7
  132. data/Appraisals +0 -29
  133. data/CODE_OF_CONDUCT.md +0 -74
  134. data/Gemfile +0 -24
  135. data/Guardfile +0 -55
  136. data/Rakefile +0 -12
  137. data/_config.yml +0 -1
  138. data/assets/unique_digests_1.png +0 -0
  139. data/assets/unique_digests_2.png +0 -0
  140. data/bin/bench +0 -20
  141. data/examples/another_unique_job.rb +0 -15
  142. data/examples/custom_queue_job.rb +0 -12
  143. data/examples/custom_queue_job_with_filter_method.rb +0 -13
  144. data/examples/custom_queue_job_with_filter_proc.rb +0 -16
  145. data/examples/expiring_job.rb +0 -12
  146. data/examples/inline_worker.rb +0 -12
  147. data/examples/just_a_worker.rb +0 -13
  148. data/examples/long_running_job.rb +0 -14
  149. data/examples/main_job.rb +0 -14
  150. data/examples/my_job.rb +0 -12
  151. data/examples/my_unique_job.rb +0 -15
  152. data/examples/my_unique_job_with_filter_method.rb +0 -21
  153. data/examples/my_unique_job_with_filter_proc.rb +0 -19
  154. data/examples/notify_worker.rb +0 -14
  155. data/examples/plain_class.rb +0 -13
  156. data/examples/simple_worker.rb +0 -15
  157. data/examples/spawn_simple_worker.rb +0 -12
  158. data/examples/test_class.rb +0 -9
  159. data/examples/unique_across_workers_job.rb +0 -20
  160. data/examples/unique_job_on_conflict_raise.rb +0 -14
  161. data/examples/unique_job_on_conflict_reject.rb +0 -14
  162. data/examples/unique_job_on_conflict_reschedule.rb +0 -14
  163. data/examples/unique_job_with_conditional_parameter.rb +0 -18
  164. data/examples/unique_job_with_filter_method.rb +0 -21
  165. data/examples/unique_job_with_nil_unique_args.rb +0 -20
  166. data/examples/unique_job_with_no_unique_args_method.rb +0 -16
  167. data/examples/unique_job_withthout_unique_args_parameter.rb +0 -18
  168. data/examples/unique_on_all_queues_job.rb +0 -16
  169. data/examples/until_and_while_executing_job.rb +0 -17
  170. data/examples/until_executed_2_job.rb +0 -24
  171. data/examples/until_executed_job.rb +0 -25
  172. data/examples/until_executing_job.rb +0 -11
  173. data/examples/until_expired_job.rb +0 -12
  174. data/examples/until_global_expired_job.rb +0 -12
  175. data/examples/while_executing_job.rb +0 -15
  176. data/examples/while_executing_reject_job.rb +0 -14
  177. data/examples/without_argument_job.rb +0 -13
  178. data/lib/sidekiq_unique_jobs/client/middleware.rb +0 -56
  179. data/lib/sidekiq_unique_jobs/scripts.rb +0 -89
  180. data/lib/sidekiq_unique_jobs/server/middleware.rb +0 -40
  181. data/lib/sidekiq_unique_jobs/timeout/calculator.rb +0 -63
  182. data/lib/sidekiq_unique_jobs/timeout.rb +0 -8
  183. data/lib/sidekiq_unique_jobs/unique_args.rb +0 -149
  184. data/lib/sidekiq_unique_jobs/util.rb +0 -103
  185. data/lib/sidekiq_unique_jobs/web/views/unique_digest.erb +0 -28
  186. data/lib/sidekiq_unique_jobs/web/views/unique_digests.erb +0 -42
  187. data/redis/acquire_lock.lua +0 -21
  188. data/redis/delete.lua +0 -14
  189. data/redis/delete_by_digest.lua +0 -24
  190. data/redis/delete_job_by_digest.lua +0 -60
  191. data/redis/lock.lua +0 -58
  192. data/redis/release_stale_locks.lua +0 -90
  193. data/redis/unlock.lua +0 -32
  194. data/sidekiq-unique-jobs.gemspec +0 -42
data/.eslintrc DELETED
@@ -1,213 +0,0 @@
1
- ecmaFeatures:
2
- modules: true
3
- jsx: true
4
-
5
- env:
6
- amd: true
7
- browser: true
8
- es6: true
9
- jquery: true
10
- node: true
11
-
12
- # http://eslint.org/docs/rules/
13
- rules:
14
- # Possible Errors
15
- comma-dangle: [2, never]
16
- no-cond-assign: 2
17
- no-console: 0
18
- no-constant-condition: 2
19
- no-control-regex: 2
20
- no-debugger: 2
21
- no-dupe-args: 2
22
- no-dupe-keys: 2
23
- no-duplicate-case: 2
24
- no-empty: 2
25
- no-empty-character-class: 2
26
- no-ex-assign: 2
27
- no-extra-boolean-cast: 2
28
- no-extra-parens: 0
29
- no-extra-semi: 2
30
- no-func-assign: 2
31
- no-inner-declarations: [2, functions]
32
- no-invalid-regexp: 2
33
- no-irregular-whitespace: 2
34
- no-negated-in-lhs: 2
35
- no-obj-calls: 2
36
- no-regex-spaces: 2
37
- no-sparse-arrays: 2
38
- no-unexpected-multiline: 2
39
- no-unreachable: 2
40
- use-isnan: 2
41
- valid-jsdoc: 0
42
- valid-typeof: 2
43
-
44
- # Best Practices
45
- accessor-pairs: 2
46
- block-scoped-var: 0
47
- complexity: [2, 6]
48
- consistent-return: 0
49
- curly: 0
50
- default-case: 0
51
- dot-location: 0
52
- dot-notation: 0
53
- eqeqeq: 2
54
- guard-for-in: 2
55
- no-alert: 2
56
- no-caller: 2
57
- no-case-declarations: 2
58
- no-div-regex: 2
59
- no-else-return: 0
60
- no-empty-label: 2
61
- no-empty-pattern: 2
62
- no-eq-null: 2
63
- no-eval: 2
64
- no-extend-native: 2
65
- no-extra-bind: 2
66
- no-fallthrough: 2
67
- no-floating-decimal: 0
68
- no-implicit-coercion: 0
69
- no-implied-eval: 2
70
- no-invalid-this: 0
71
- no-iterator: 2
72
- no-labels: 0
73
- no-lone-blocks: 2
74
- no-loop-func: 2
75
- no-magic-number: 0
76
- no-multi-spaces: 0
77
- no-multi-str: 0
78
- no-native-reassign: 2
79
- no-new-func: 2
80
- no-new-wrappers: 2
81
- no-new: 2
82
- no-octal-escape: 2
83
- no-octal: 2
84
- no-proto: 2
85
- no-redeclare: 2
86
- no-return-assign: 2
87
- no-script-url: 2
88
- no-self-compare: 2
89
- no-sequences: 0
90
- no-throw-literal: 0
91
- no-unused-expressions: 2
92
- no-useless-call: 2
93
- no-useless-concat: 2
94
- no-void: 2
95
- no-warning-comments: 0
96
- no-with: 2
97
- radix: 2
98
- vars-on-top: 0
99
- wrap-iife: 2
100
- yoda: 0
101
-
102
- # Strict
103
- strict: 0
104
-
105
- # Variables
106
- init-declarations: 0
107
- no-catch-shadow: 2
108
- no-delete-var: 2
109
- no-label-var: 2
110
- no-shadow-restricted-names: 2
111
- no-shadow: 0
112
- no-undef-init: 2
113
- no-undef: 0
114
- no-undefined: 0
115
- no-unused-vars: 0
116
- no-use-before-define: 0
117
-
118
- # Node.js and CommonJS
119
- callback-return: 2
120
- global-require: 2
121
- handle-callback-err: 2
122
- no-mixed-requires: 0
123
- no-new-require: 0
124
- no-path-concat: 2
125
- no-process-exit: 2
126
- no-restricted-modules: 0
127
- no-sync: 0
128
-
129
- # Stylistic Issues
130
- array-bracket-spacing: 0
131
- block-spacing: 0
132
- brace-style: 0
133
- camelcase: 0
134
- comma-spacing: 0
135
- comma-style: 0
136
- computed-property-spacing: 0
137
- consistent-this: 0
138
- eol-last: 0
139
- func-names: 0
140
- func-style: 0
141
- id-length: 0
142
- id-match: 0
143
- indent: 0
144
- jsx-quotes: 0
145
- key-spacing: 0
146
- linebreak-style: 0
147
- lines-around-comment: 0
148
- max-depth: 0
149
- max-len: 0
150
- max-nested-callbacks: 0
151
- max-params: 0
152
- max-statements: [2, 30]
153
- new-cap: 0
154
- new-parens: 0
155
- newline-after-var: 0
156
- no-array-constructor: 0
157
- no-bitwise: 0
158
- no-continue: 0
159
- no-inline-comments: 0
160
- no-lonely-if: 0
161
- no-mixed-spaces-and-tabs: 0
162
- no-multiple-empty-lines: 0
163
- no-negated-condition: 0
164
- no-nested-ternary: 0
165
- no-new-object: 0
166
- no-plusplus: 0
167
- no-restricted-syntax: 0
168
- no-spaced-func: 0
169
- no-ternary: 0
170
- no-trailing-spaces: 0
171
- no-underscore-dangle: 0
172
- no-unneeded-ternary: 0
173
- object-curly-spacing: 0
174
- one-var: 0
175
- operator-assignment: 0
176
- operator-linebreak: 0
177
- padded-blocks: 0
178
- quote-props: 0
179
- quotes: 0
180
- require-jsdoc: 0
181
- semi-spacing: 0
182
- semi: 0
183
- sort-vars: 0
184
- space-after-keywords: 0
185
- space-before-blocks: 0
186
- space-before-function-paren: 0
187
- space-before-keywords: 0
188
- space-in-parens: 0
189
- space-infix-ops: 0
190
- space-return-throw-case: 0
191
- space-unary-ops: 0
192
- spaced-comment: 0
193
- wrap-regex: 0
194
-
195
- # ECMAScript 6
196
- arrow-body-style: 0
197
- arrow-parens: 0
198
- arrow-spacing: 0
199
- constructor-super: 0
200
- generator-star-spacing: 0
201
- no-arrow-condition: 0
202
- no-class-assign: 0
203
- no-const-assign: 0
204
- no-dupe-class-members: 0
205
- no-this-before-super: 0
206
- no-var: 0
207
- object-shorthand: 0
208
- prefer-arrow-callback: 0
209
- prefer-const: 0
210
- prefer-reflect: 0
211
- prefer-spread: 0
212
- prefer-template: 0
213
- require-yield: 0
data/.fasterer.yml DELETED
@@ -1,23 +0,0 @@
1
- speedups:
2
- parallel_assignment: false
3
- rescue_vs_respond_to: true
4
- module_eval: true
5
- shuffle_first_vs_sample: true
6
- for_loop_vs_each: true
7
- each_with_index_vs_while: false
8
- map_flatten_vs_flat_map: true
9
- reverse_each_vs_reverse_each: true
10
- select_first_vs_detect: true
11
- sort_vs_sort_by: true
12
- fetch_with_argument_vs_block: true
13
- keys_each_vs_each_key: true
14
- hash_merge_bang_vs_hash_brackets: true
15
- block_vs_symbol_to_proc: true
16
- proc_call_vs_yield: true
17
- gsub_vs_tr: true
18
- select_last_vs_reverse_detect: true
19
- getter_vs_attr_reader: true
20
- setter_vs_attr_writer: true
21
-
22
- exclude_paths:
23
- - 'spec/**/*.rb'
@@ -1,31 +0,0 @@
1
- ---
2
- name: Bug report
3
- about: Create a report to help us improve
4
-
5
- ---
6
-
7
- **Describe the bug**
8
- A clear and concise description of what the bug is.
9
-
10
- **Expected behavior**
11
- A clear and concise description of what you expected to happen.
12
-
13
- **Current behavior**
14
- What happens instead of the expected behavior?
15
-
16
- **Worker class**
17
-
18
- ```ruby
19
- class MyWorker
20
- include Sidekiq::Worker
21
- sidekiq_options lock: :until_executed, queue: :undefault
22
- def perform(args); end
23
-
24
- def self.unique_args(args)
25
- # the way you consider unique arguments
26
- end
27
- end
28
- ```
29
-
30
- **Additional context**
31
- Add any other context about the problem here.
@@ -1,17 +0,0 @@
1
- ---
2
- name: Feature request
3
- about: Suggest an idea for this project
4
-
5
- ---
6
-
7
- **Is your feature request related to a problem? Please describe.**
8
- A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
9
-
10
- **Describe the solution you'd like**
11
- A clear and concise description of what you want to happen.
12
-
13
- **Describe alternatives you've considered**
14
- A clear and concise description of any alternative solutions or features you've considered.
15
-
16
- **Additional context**
17
- Add any other context or screenshots about the feature request here.
data/.gitignore DELETED
@@ -1,28 +0,0 @@
1
-
2
- *.gem
3
-
4
- .DS_Store
5
-
6
- Gemfile.lock
7
-
8
- .ruby-version
9
- .idea/
10
- gemfiles/*.lock
11
- *.sw?
12
- coverage/
13
- tmp/
14
- rails_example/spec/examples.txt
15
-
16
- *.sublime-*
17
-
18
- /sidekiq/
19
-
20
- .rspec_status
21
-
22
- /gemfiles/.bundle/
23
-
24
- /.byebug_history
25
-
26
- /.yardoc/
27
-
28
- /spec/examples.txt
data/.reek.yml DELETED
@@ -1,87 +0,0 @@
1
- ---
2
- exclude_paths:
3
- - rails_example
4
- - redis
5
- - spec
6
- - tmp
7
- - gemfiles
8
- - examples
9
- detectors:
10
- DuplicateMethodCall:
11
- exclude:
12
- - Sidekiq#self.use_options
13
- - SidekiqUniqueJobs::Web#self.registered
14
- IrresponsibleModule:
15
- enabled: false
16
- LongParameterList:
17
- enabled: true
18
- exclude:
19
- - initialize
20
- - Hash#slice
21
- - SidekiqUniqueJobs::Locksmith#create_lock
22
- - SidekiqUniqueJobs::Locksmith#expire_when_necessary
23
- - SidekiqUniqueJobs::Client::Middleware#call
24
- TooManyStatements:
25
- exclude:
26
- - initialize
27
- - Hash#slice
28
- - SidekiqUniqueJobs::Locksmith#create_lock
29
- - SidekiqUniqueJobs::Locksmith#expire_when_necessary
30
- - SidekiqUniqueJobs::Middleware#configure_server_middleware
31
- - SidekiqUniqueJobs::Server::Middleware#call
32
- - SidekiqUniqueJobs::UniqueArgs#filtered_args
33
- - SidekiqUniqueJobs::Util#del
34
- - SidekiqUniqueJobs::Digests#batch_delete
35
- - SidekiqUniqueJobs::Digests#delete_by_pattern
36
- - SidekiqUniqueJobs::Web#self.registered
37
- UncommunicativeVariableName:
38
- exclude:
39
- - Hash#slice
40
- BooleanParameter:
41
- exclude:
42
- - SidekiqUniqueJobs::Cli#self.banner
43
- UtilityFunction:
44
- enabled: false
45
- TooManyConstants:
46
- exclude:
47
- - SidekiqUniqueJobs
48
- ManualDispatch:
49
- enabled: true
50
- exclude:
51
- - Hash#slice
52
- - Hash#slice!
53
- - SidekiqUniqueJobs::OnConflict::Reject#deadset_kill?
54
- - SidekiqUniqueJobs::SidekiqWorkerMethods#worker_method_defined?
55
- - SidekiqUniqueJobs::Web::Helpers#redirect_to
56
- MissingSafeMethod:
57
- exclude:
58
- - Array
59
- NilCheck:
60
- enabled: false
61
- DataClump:
62
- enabled: true
63
- exclude:
64
- - SidekiqUniqueJobs::Util
65
- FeatureEnvy:
66
- exclude:
67
- - SidekiqUniqueJobs::Digests#batch_delete
68
- - SidekiqUniqueJobs::Digests#page
69
- - SidekiqUniqueJobs::Logging#debug_item
70
- - SidekiqUniqueJobs::OnConflict::Reject#push_to_deadset
71
- - SidekiqUniqueJobs::Util#batch_delete
72
- - SidekiqUniqueJobs::Web::Helpers#cparams
73
- NestedIterators:
74
- exclude:
75
- - SidekiqUniqueJobs::Digests#batch_delete
76
- - SidekiqUniqueJobs::Locksmith#create_lock
77
- - SidekiqUniqueJobs::Middleware#configure_client_middleware
78
- - SidekiqUniqueJobs::Middleware#configure_server_middleware
79
- - SidekiqUniqueJobs::Util#batch_delete
80
- - SidekiqUniqueJobs::Util#keys_with_ttl
81
- TooManyInstanceVariables:
82
- exclude:
83
- - SidekiqUniqueJobs::Locksmith
84
- TooManyMethods:
85
- exclude:
86
- - SidekiqUniqueJobs::Locksmith
87
- - SidekiqUniqueJobs::Lock::BaseLock
data/.rspec DELETED
@@ -1,2 +0,0 @@
1
- --color
2
- --order random
data/.rubocop.yml DELETED
@@ -1,127 +0,0 @@
1
- require: rubocop-rspec
2
- AllCops:
3
- Include:
4
- - '**/Rakefile'
5
- - 'lib/**/*.rb'
6
- - 'bin/**/*.rb'
7
- - 'spec/**/*.rb'
8
- - 'examples/**/*.rb'
9
- Exclude:
10
- - 'Gemfile.lock'
11
- - 'gemfiles/**/*'
12
- TargetRubyVersion: 2.3
13
-
14
- Lint/HandleExceptions:
15
- Enabled: true
16
-
17
- Lint/UselessAssignment:
18
- Enabled: true
19
-
20
- Metrics/AbcSize:
21
- Max: 38
22
-
23
- Metrics/CyclomaticComplexity:
24
- Max: 7
25
-
26
- Metrics/LineLength:
27
- Max: 120
28
-
29
- Metrics/MethodLength:
30
- Max: 13
31
-
32
- Metrics/BlockLength:
33
- Enabled: true
34
- Exclude:
35
- - '**/spec/**/*.rb'
36
-
37
- Metrics/PerceivedComplexity:
38
- Max: 8
39
-
40
- Naming/AccessorMethodName:
41
- Enabled: true
42
-
43
- Naming/ConstantName:
44
- Enabled: true
45
-
46
- Naming/FileName:
47
- Enabled: true
48
- Exclude:
49
- - 'lib/sidekiq-unique-jobs.rb'
50
- - '**/Gemfile'
51
- - '**/Appraisals'
52
- - '**/*.gemspec'
53
-
54
- Naming/UncommunicativeMethodParamName:
55
- AllowedNames:
56
- - ex
57
-
58
- RSpec/DescribeClass:
59
- Enabled: false
60
-
61
- RSpec/ExampleLength:
62
- Enabled: false
63
-
64
- RSpec/ExpectActual:
65
- Enabled: false
66
-
67
- RSpec/ExpectChange:
68
- Enabled: false
69
-
70
- RSpec/ExpectInHook:
71
- Enabled: false
72
-
73
- RSpec/MessageSpies:
74
- Enabled: false
75
-
76
- RSpec/MultipleExpectations:
77
- Enabled: false
78
-
79
- RSpec/NestedGroups:
80
- Max: 4
81
- Enabled: true
82
-
83
- RSpec/RepeatedExample:
84
- Enabled: false
85
-
86
- Style/FrozenStringLiteralComment:
87
- Enabled: true
88
-
89
- Style/Documentation:
90
- Enabled: false
91
-
92
- Style/SignalException:
93
- EnforcedStyle: only_fail
94
- Enabled: false
95
-
96
- Style/GlobalVars:
97
- Enabled: true
98
-
99
- Style/StringLiterals:
100
- Enabled: true
101
- EnforcedStyle: single_quotes
102
- ConsistentQuotesInMultiline: true
103
-
104
- Style/StringLiteralsInInterpolation:
105
- Enabled: true
106
- EnforcedStyle: single_quotes
107
-
108
- Style/SymbolArray:
109
- Enabled: true
110
- EnforcedStyle: brackets
111
-
112
- Style/TernaryParentheses:
113
- Enabled: true
114
- EnforcedStyle: require_parentheses_when_complex
115
- AllowSafeAssignment: true
116
-
117
- Style/TrailingCommaInArguments:
118
- Enabled: true
119
- EnforcedStyleForMultiline: comma
120
-
121
- Style/TrailingCommaInArrayLiteral:
122
- Enabled: true
123
- EnforcedStyleForMultiline: comma
124
-
125
- Style/TrailingCommaInHashLiteral:
126
- Enabled: true
127
- EnforcedStyleForMultiline: comma
data/.simplecov DELETED
@@ -1,20 +0,0 @@
1
- require 'simplecov-json'
2
-
3
- SimpleCov.command_name 'RSpec'
4
- # SimpleCov.refuse_coverage_drop
5
- SimpleCov.formatters = [
6
- SimpleCov::Formatter::HTMLFormatter,
7
- SimpleCov::Formatter::JSONFormatter,
8
- ]
9
-
10
- SimpleCov.start do
11
- add_filter '/spec/'
12
- add_filter '/bin/'
13
- add_filter '/gemfiles/'
14
- add_filter '/examples/'
15
-
16
- add_group 'Client', 'lib/sidekiq_unique_jobs/client'
17
- add_group 'Locks', 'lib/sidekiq_unique_jobs/lock'
18
- add_group 'Server', 'lib/sidekiq_unique_jobs/server'
19
- add_group 'Timeout', 'lib/sidekiq_unique_jobs/timeout'
20
- end
data/.travis.yml DELETED
@@ -1,47 +0,0 @@
1
- env:
2
- matrix:
3
- - COV=false
4
- global:
5
- - CC_TEST_REPORTER_ID=88e524e8f638efe690def7a6e2c72b1a9db5cdfa74548921b734d609a5858ee5
6
- - GIT_COMMITTED_AT=$(if [ "$TRAVIS_PULL_REQUEST" == "false" ]; then git log -1 --pretty=format:%ct; else git log -1 --skip 1 --pretty=format:%ct; fi)
7
- dist: trusty
8
- sudo: required
9
- language: ruby
10
- cache: bundler
11
- services:
12
- - redis-server
13
-
14
- before_install:
15
- - curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter
16
- - chmod +x ./cc-test-reporter
17
- before_script:
18
- - ./cc-test-reporter before-build
19
- script:
20
- - if [[ "${COV}" = "true" ]]; then bundle exec rubocop -P; fi;
21
- - bundle exec rspec
22
- after_script:
23
- - if [[ "${COV}" = "true" ]]; then ./cc-test-reporter after-build --exit-code $TRAVIS_TEST_RESULT; fi;
24
- rvm:
25
- - 2.5.1
26
- - 2.4.2
27
- - 2.3.2
28
- - jruby-9.2.0.0
29
- matrix:
30
- fast_finish: true
31
- include:
32
- - rvm: 2.5.1
33
- gemfile: gemfiles/sidekiq_develop.gemfile
34
- env: COV=true
35
- gemfile:
36
- - gemfiles/sidekiq_develop.gemfile
37
- - gemfiles/sidekiq_4.0.gemfile
38
- - gemfiles/sidekiq_4.1.gemfile
39
- - gemfiles/sidekiq_4.2.gemfile
40
- - gemfiles/sidekiq_5.0.gemfile
41
- - gemfiles/sidekiq_5.1.gemfile
42
- - gemfiles/sidekiq_5.2.gemfile
43
-
44
- notifications:
45
- email:
46
- recipients:
47
- - mikael@zoolutions.se
data/.yardopts DELETED
@@ -1,7 +0,0 @@
1
- --no-private
2
- --exclude lib/sidekiq_unique_jobs/testing.rb
3
- --exclude lib/sidekiq_unique_jobs/sidekiq_unique_ext.rb
4
- --exclude lib/sidekiq_unique_jobs/middleware.rb
5
- --exclude lib/sidekiq_unique_jobs/core_ext.rb
6
- --exclude lib/sidekiq_unique_jobs/cli.rb
7
-
data/Appraisals DELETED
@@ -1,29 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- appraise 'sidekiq-develop' do
4
- gem 'sidekiq', git: 'https://github.com/mperham/sidekiq.git'
5
- end
6
-
7
- appraise 'sidekiq-4.0' do
8
- gem 'sidekiq', '~> 4.0.0'
9
- end
10
-
11
- appraise 'sidekiq-4.1' do
12
- gem 'sidekiq', '~> 4.1.0'
13
- end
14
-
15
- appraise 'sidekiq-4.2' do
16
- gem 'sidekiq', '~> 4.2.0'
17
- end
18
-
19
- appraise 'sidekiq-5.0' do
20
- gem 'sidekiq', '~> 5.0.0'
21
- end
22
-
23
- appraise 'sidekiq-5.1' do
24
- gem 'sidekiq', '~> 5.1.0'
25
- end
26
-
27
- appraise 'sidekiq-5.2' do
28
- gem 'sidekiq', '~> 5.2.0'
29
- end