shoryuken 5.3.0 → 6.2.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (45) hide show
  1. checksums.yaml +4 -4
  2. data/.devcontainer/Dockerfile +17 -0
  3. data/.devcontainer/base.Dockerfile +43 -0
  4. data/.devcontainer/devcontainer.json +35 -0
  5. data/.github/dependabot.yml +6 -0
  6. data/.github/workflows/specs.yml +5 -2
  7. data/.github/workflows/stale.yml +20 -0
  8. data/Appraisals +6 -0
  9. data/CHANGELOG.md +144 -0
  10. data/Gemfile +5 -2
  11. data/README.md +19 -1
  12. data/bin/cli/sqs.rb +1 -1
  13. data/gemfiles/aws_sdk_core_2.gemfile +1 -1
  14. data/gemfiles/rails_7_0.gemfile +22 -0
  15. data/lib/shoryuken/default_exception_handler.rb +10 -0
  16. data/lib/shoryuken/environment_loader.rb +22 -3
  17. data/lib/shoryuken/extensions/active_job_adapter.rb +5 -2
  18. data/lib/shoryuken/extensions/active_job_extensions.rb +1 -1
  19. data/lib/shoryuken/launcher.rb +18 -3
  20. data/lib/shoryuken/logging.rb +2 -2
  21. data/lib/shoryuken/manager.rb +24 -9
  22. data/lib/shoryuken/middleware/server/active_record.rb +5 -1
  23. data/lib/shoryuken/options.rb +14 -6
  24. data/lib/shoryuken/polling/strict_priority.rb +4 -2
  25. data/lib/shoryuken/polling/weighted_round_robin.rb +3 -5
  26. data/lib/shoryuken/processor.rb +14 -6
  27. data/lib/shoryuken/queue.rb +5 -3
  28. data/lib/shoryuken/runner.rb +0 -3
  29. data/lib/shoryuken/version.rb +1 -1
  30. data/lib/shoryuken.rb +7 -0
  31. data/shoryuken.gemspec +1 -1
  32. data/spec/shared_examples_for_active_job.rb +4 -2
  33. data/spec/shoryuken/default_exception_handler_spec.rb +71 -0
  34. data/spec/shoryuken/environment_loader_spec.rb +42 -9
  35. data/spec/shoryuken/extensions/active_job_base_spec.rb +1 -1
  36. data/spec/shoryuken/fetcher_spec.rb +12 -12
  37. data/spec/shoryuken/launcher_spec.rb +46 -1
  38. data/spec/shoryuken/manager_spec.rb +10 -6
  39. data/spec/shoryuken/polling/weighted_round_robin_spec.rb +31 -6
  40. data/spec/shoryuken/processor_spec.rb +38 -0
  41. data/spec/shoryuken/queue_spec.rb +10 -5
  42. data/spec/shoryuken/util_spec.rb +24 -4
  43. data/spec/shoryuken/worker/default_executor_spec.rb +48 -48
  44. data/spec/spec_helper.rb +2 -0
  45. metadata +16 -7
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9f4f8cbfdd04c4d39b7f672c549b0d112f64c99a8df4807b83083b57dab8addd
4
- data.tar.gz: 0cfeaef14f59567382eefacb342be547a43f7dc7a118a3f824a6bdc88710ceea
3
+ metadata.gz: 6168df5d49a143c56908e559afcaddc28f7416176881429069cd12680db867c6
4
+ data.tar.gz: 1c3a73c4e269457b29962f0a0ac9ba56093ab58cbfab7b00c9aa79c0eb7cb186
5
5
  SHA512:
6
- metadata.gz: 0ee996f0a835c46c50adaef43f413374505df454e8e696c5a1faaefdd9c28a4ed7922f620b56f800a3aad152881c66dd812bad573fec91f9d2ed9bd168c468f8
7
- data.tar.gz: 9208b28922188d06f60ade86d0c53d56c6bedbc8577e908d5aa4a819c23cc13889fdea5dcb8875608495f2bb785f3b198bddbdb4fd93f3d6f7fa53d2f9cfec3f
6
+ metadata.gz: 3ba49924964a3c98336a3b68e008d831549247574d2f180c72e600bef1dfbcdfa142a863d5e49b100f226d6d5aaf3e0b00fc972968e0ec3502121f10661f9c10
7
+ data.tar.gz: 9cc7f3b45550ff308213ceb72f2098a0bd1ae868c4b1401fbe3fe1a0cb8b43467c347ac2b396e0bcb2148f1d9927a46da43951a8550d027c0e9ba28db0739840
@@ -0,0 +1,17 @@
1
+ # [Choice] Ruby version (use -bullseye variants on local arm64/Apple Silicon): 3, 3.1, 3.0, 2, 2.7, 2.6, 3-bullseye, 3.1-bullseye, 3.0-bullseye, 2-bullseye, 2.7-bullseye, 2.6-bullseye, 3-buster, 3.1-buster, 3.0-buster, 2-buster, 2.7-buster, 2.6-buster
2
+ ARG VARIANT=2-bullseye
3
+ FROM mcr.microsoft.com/vscode/devcontainers/ruby:0-${VARIANT}
4
+
5
+ # [Choice] Node.js version: none, lts/*, 16, 14, 12, 10
6
+ ARG NODE_VERSION="none"
7
+ RUN if [ "${NODE_VERSION}" != "none" ]; then su vscode -c "umask 0002 && . /usr/local/share/nvm/nvm.sh && nvm install ${NODE_VERSION} 2>&1"; fi
8
+
9
+ # [Optional] Uncomment this section to install additional OS packages.
10
+ # RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \
11
+ # && apt-get -y install --no-install-recommends <your-package-list-here>
12
+
13
+ # [Optional] Uncomment this line to install additional gems.
14
+ # RUN gem install <your-gem-names-here>
15
+
16
+ # [Optional] Uncomment this line to install global node packages.
17
+ # RUN su vscode -c "source /usr/local/share/nvm/nvm.sh && npm install -g <your-package-here>" 2>&1
@@ -0,0 +1,43 @@
1
+ # [Choice] Ruby version (use -bullseye variants on local arm64/Apple Silicon): 3, 3.1, 3.0, 2, 2.7, 2.6, 3-bullseye, 3.1-bullseye, 3.0-bullseye, 2-bullseye, 2.7-bullseye, 2.6-bullseye, 3-buster, 3.1-buster, 3.0-buster, 2-buster, 2.7-buster, 2.6-buster
2
+ ARG VARIANT=2-bullseye
3
+ FROM ruby:${VARIANT}
4
+
5
+ # Copy library scripts to execute
6
+ COPY library-scripts/*.sh library-scripts/*.env /tmp/library-scripts/
7
+
8
+ # [Option] Install zsh
9
+ ARG INSTALL_ZSH="true"
10
+ # [Option] Upgrade OS packages to their latest versions
11
+ ARG UPGRADE_PACKAGES="true"
12
+ # Install needed packages and setup non-root user. Use a separate RUN statement to add your own dependencies.
13
+ ARG USERNAME=vscode
14
+ ARG USER_UID=1000
15
+ ARG USER_GID=$USER_UID
16
+ RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \
17
+ # Remove imagemagick due to https://security-tracker.debian.org/tracker/CVE-2019-10131
18
+ && apt-get purge -y imagemagick imagemagick-6-common \
19
+ # Install common packages, non-root user, rvm, core build tools
20
+ && bash /tmp/library-scripts/common-debian.sh "${INSTALL_ZSH}" "${USERNAME}" "${USER_UID}" "${USER_GID}" "${UPGRADE_PACKAGES}" "true" "true" \
21
+ && bash /tmp/library-scripts/ruby-debian.sh "none" "${USERNAME}" "true" "true" \
22
+ && apt-get autoremove -y && apt-get clean -y && rm -rf /var/lib/apt/lists/*
23
+
24
+ # [Choice] Node.js version: none, lts/*, 16, 14, 12, 10
25
+ ARG NODE_VERSION="none"
26
+ ENV NVM_DIR=/usr/local/share/nvm
27
+ ENV NVM_SYMLINK_CURRENT=true \
28
+ PATH=${NVM_DIR}/current/bin:${PATH}
29
+ RUN bash /tmp/library-scripts/node-debian.sh "${NVM_DIR}" "${NODE_VERSION}" "${USERNAME}" \
30
+ && apt-get clean -y && rm -rf /var/lib/apt/lists/*
31
+
32
+ # Remove library scripts for final image
33
+ RUN rm -rf /tmp/library-scripts
34
+
35
+ # [Optional] Uncomment this section to install additional OS packages.
36
+ # RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \
37
+ # && apt-get -y install --no-install-recommends <your-package-list-here>
38
+
39
+ # [Optional] Uncomment this line to install additional gems.
40
+ # RUN gem install <your-gem-names-here>
41
+
42
+ # [Optional] Uncomment this line to install global node packages.
43
+ # RUN su vscode -c "source /usr/local/share/nvm/nvm.sh && npm install -g <your-package-here>" 2>&1
@@ -0,0 +1,35 @@
1
+ // For format details, see https://aka.ms/devcontainer.json. For config options, see the README at:
2
+ // https://github.com/microsoft/vscode-dev-containers/tree/v0.224.3/containers/ruby
3
+ {
4
+ "name": "Ruby",
5
+ "build": {
6
+ "dockerfile": "Dockerfile",
7
+ "args": {
8
+ // Update 'VARIANT' to pick a Ruby version: 3, 3.1, 3.0, 2, 2.7, 2.6
9
+ // Append -bullseye or -buster to pin to an OS version.
10
+ // Use -bullseye variants on local on arm64/Apple Silicon.
11
+ "VARIANT": "3-bullseye",
12
+ // Options
13
+ "NODE_VERSION": "none"
14
+ }
15
+ },
16
+
17
+ // Set *default* container specific settings.json values on container create.
18
+ "settings": {},
19
+
20
+ // Add the IDs of extensions you want installed when the container is created.
21
+ "extensions": ["rebornix.Ruby"],
22
+
23
+ // Use 'forwardPorts' to make a list of ports inside the container available locally.
24
+ // "forwardPorts": [],
25
+
26
+ // Use 'postCreateCommand' to run commands after the container is created.
27
+ // "postCreateCommand": "ruby --version",
28
+
29
+ // Comment out to connect as root instead. More info: https://aka.ms/vscode-remote/containers/non-root.
30
+ "remoteUser": "vscode",
31
+ "features": {
32
+ "github-cli": "latest",
33
+ "aws-cli": "latest"
34
+ }
35
+ }
@@ -0,0 +1,6 @@
1
+ version: 2
2
+ updates:
3
+ - package-ecosystem: "github-actions"
4
+ directory: "/"
5
+ schedule:
6
+ interval: "weekly"
@@ -9,7 +9,7 @@ jobs:
9
9
  name: All Specs
10
10
  strategy:
11
11
  matrix:
12
- ruby: ['2.4', '2.5', '2.6', '2.7', '3.0']
12
+ ruby: ['2.4', '2.5', '2.6', '2.7', '3.0', '3.1', '3.2']
13
13
  gemfile: ['Gemfile', 'gemfiles/aws_sdk_core_2.gemfile']
14
14
  runs-on: ubuntu-20.04
15
15
  services:
@@ -34,7 +34,7 @@ jobs:
34
34
  name: Rails Specs
35
35
  strategy:
36
36
  matrix:
37
- rails: ['4.2', '5.2', '6.0', '6.1']
37
+ rails: ['4.2', '5.2', '6.0', '6.1', '7.0']
38
38
  include:
39
39
  - rails: '4.2'
40
40
  ruby: '2.2'
@@ -48,6 +48,9 @@ jobs:
48
48
  - rails: '6.1'
49
49
  ruby: '3.0'
50
50
  gemfile: gemfiles/rails_6_1.gemfile
51
+ - rails: '7.0'
52
+ ruby: '3.1'
53
+ gemfile: gemfiles/rails_7_0.gemfile
51
54
  runs-on: ubuntu-20.04
52
55
  env:
53
56
  BUNDLE_GEMFILE: ${{ matrix.gemfile }}
@@ -0,0 +1,20 @@
1
+ name: "Close stale issues and PRs"
2
+ on:
3
+ schedule:
4
+ - cron: "30 1 * * *" # At 01:30 - https://crontab.guru/#30_1_*_*_*
5
+ workflow_dispatch: {}
6
+ jobs:
7
+ stale:
8
+ runs-on: ubuntu-latest
9
+ permissions:
10
+ issues: write
11
+ pull-requests: write
12
+ steps:
13
+ - uses: actions/stale@v9
14
+ with:
15
+ stale-issue-message: This issue is now marked as stale because it hasn't seen activity for a while. Add a comment or it will be closed soon.
16
+ stale-pr-message: This PR is now marked as stale because it hasn't seen activity for a while. Add a comment or it will be closed soon.
17
+ close-issue-message: This issue was closed because it hasn't seen activity for a while.
18
+ close-pr-message: This PR was closed because it hasn't seen activity for a while.
19
+ days-before-stale: 60
20
+ days-before-close: 7
data/Appraisals CHANGED
@@ -34,3 +34,9 @@ appraise 'rails_6_1' do
34
34
  gem 'activejob', '~> 6.1'
35
35
  end
36
36
  end
37
+
38
+ appraise 'rails_7_0' do
39
+ group :test do
40
+ gem 'activejob', '~> 7.0'
41
+ end
42
+ end
data/CHANGELOG.md CHANGED
@@ -1,6 +1,77 @@
1
+ ## [v6.2.1] - 2024-02-09
2
+
3
+ - Bugfix: Not able to use extended polling strategy (#759)
4
+ - [#759](https://github.com/ruby-shoryuken/shoryuken/pull/759)
5
+
6
+ ## [v6.2.0] - 2024-02-04
7
+
8
+ - Enable hot-reload via adding ActiveSupport::Reloader delegate (#756)
9
+ - [#756](https://github.com/ruby-shoryuken/shoryuken/pull/756)
10
+
11
+ ## [v6.1.2] - 2024-01-30
12
+
13
+ - Fix activerecord 7.1 deprecation warnings
14
+ - [#755](https://github.com/ruby-shoryuken/shoryuken/pull/755)
15
+
16
+ ## [v6.1.1] - 2023-11-27
17
+
18
+ - Fix SQS API Changes causing nil returns instead of empty arrays
19
+ - [#754](https://github.com/ruby-shoryuken/shoryuken/pull/754)
20
+ - [#753](https://github.com/ruby-shoryuken/shoryuken/pull/753)
21
+
22
+ ## [v6.1.0] - 2023-11-01
23
+
24
+ - Add GitHub Codespaces
25
+
26
+ - [#698](https://github.com/ruby-shoryuken/shoryuken/pull/698)
27
+
28
+ - Fix spec for ruby 3.0
29
+
30
+ - [#727](https://github.com/ruby-shoryuken/shoryuken/pull/727)
31
+
32
+ - Upgrade test matrix. Add Ruby 3.1, Ruby 3.2 and Rails 7
33
+
34
+ - [#739](https://github.com/ruby-shoryuken/shoryuken/pull/739)
35
+
36
+ - Fire stopped event after executor is stopped
37
+
38
+ - [#741](https://github.com/ruby-shoryuken/shoryuken/pull/741)
39
+
40
+ - Allow setup custom exception handlers for failing jobs
41
+
42
+ - [#742](https://github.com/ruby-shoryuken/shoryuken/pull/742)
43
+
44
+ - Configure dependabot to update GH Actions
45
+
46
+ - [#745](https://github.com/ruby-shoryuken/shoryuken/pull/745)
47
+
48
+ - Stop the dispatching of new messages when a SIGTERM signal has been received
49
+ - [#750](https://github.com/ruby-shoryuken/shoryuken/pull/750)
50
+
51
+ ## [v6.0.0] - 2022-02-18
52
+
53
+ - Breaking changes: Initialize Rails before parsing config file
54
+ - [#686](https://github.com/ruby-shoryuken/shoryuken/pull/686)
55
+ - Previously, Shoryuken read its configuration from an optional YAML file, then allowed CLI arguments to override those, then initialized the Rails application (provided that `--rails` or `-R` was specified). This behavior meant that the config file did not have access to things like environment variables that were initialized by Rails (such as when using `dotenv`). With this change, Rails is initialized much earlier in the process. After Rails is initialized, the YAML configuration file is interpreted, and CLI arguments are finally interpreted last. Most applications will not need to undergo changes in order to upgrade, but the new load order could technically result in different behavior depending on the application's YAML configuration file or Rails initializers.
56
+
57
+ ## [v5.3.2] - 2022-01-19
58
+
59
+ - (Bugfix) Preserve queue weights when unpausing queues
60
+
61
+ - [#687](https://github.com/ruby-shoryuken/shoryuken/pull/687)
62
+
63
+ - Improve error message on startup when shoryuken has insufficient permissions to access a queue
64
+ - [#691](https://github.com/ruby-shoryuken/shoryuken/pull/691)
65
+
66
+ ## [v5.3.1] - 2022-01-07
67
+
68
+ - (Bugfix) Fix issue where, when using the TSTP or USR1 signals for soft shutdowns, it was possible for shoryuken to terminate without first attempting to handle all messages it fetched from SQS
69
+ - [#676](https://github.com/ruby-shoryuken/shoryuken/pull/676)
70
+
1
71
  ## [v5.3.0] - 2021-10-31
2
72
 
3
73
  - (Refactor) Use Forwardable within Message to avoid method boilerplate
74
+
4
75
  - [#681](https://github.com/ruby-shoryuken/shoryuken/pull/681)
5
76
 
6
77
  - Add basic health check API
@@ -19,13 +90,16 @@
19
90
  ## [v5.2.1] - 2021-04-06
20
91
 
21
92
  - Reduce message batch sizes in `shoryuken sqs requeue` and `shoryuken sqs mv` commands
93
+
22
94
  - [#666](https://github.com/ruby-shoryuken/shoryuken/pull/666)
23
95
 
24
96
  - Fix bug in `shoryuken sqs requeue` and `shoryuken sqs mv` where those commands would exceed the SQS `SendMessageBatch` maximum payload size
97
+
25
98
  - [#663](https://github.com/ruby-shoryuken/shoryuken/issues/663)
26
99
  - [#664](https://github.com/ruby-shoryuken/shoryuken/pull/664)
27
100
 
28
101
  - Remove test stub for `Concurrent.global_io_executor`
102
+
29
103
  - [#662](https://github.com/ruby-shoryuken/shoryuken/pull/662)
30
104
 
31
105
  - Run integration tests on CI
@@ -44,14 +118,17 @@
44
118
  ## [v5.1.0] - 2021-02-06
45
119
 
46
120
  - Add support for specifying SQS SendMessage parameters with ActiveJob `.set`
121
+
47
122
  - [#635](https://github.com/phstc/shoryuken/pull/635)
48
123
  - [#648](https://github.com/phstc/shoryuken/pull/648)
49
124
  - [#651](https://github.com/phstc/shoryuken/pull/651)
50
125
 
51
126
  - Unpause FIFO queues on worker completion
127
+
52
128
  - [#644](https://github.com/phstc/shoryuken/pull/644)
53
129
 
54
130
  - Add multiple versions of Rails to test matrix
131
+
55
132
  - [#647](https://github.com/phstc/shoryuken/pull/647)
56
133
 
57
134
  - Migrate from Travis CI to Github Actions
@@ -93,9 +170,11 @@
93
170
  ## [v5.0.0] - 2019-06-18
94
171
 
95
172
  - Fix bug where empty queues were not paused in batch processing mode
173
+
96
174
  - [#569](https://github.com/phstc/shoryuken/pull/569)
97
175
 
98
176
  - Preserve batch limit when receiving messages from a FIFO queue
177
+
99
178
  - [#563](https://github.com/phstc/shoryuken/pull/563)
100
179
 
101
180
  - Replace static options with instance options
@@ -109,9 +188,11 @@
109
188
  ## [v4.0.2] - 2018-11-26
110
189
 
111
190
  - Fix the delegated methods to public warning
191
+
112
192
  - [#536](https://github.com/phstc/shoryuken/pull/536)
113
193
 
114
194
  - Specify exception class to `raise_error` matcher warning
195
+
115
196
  - [#537](https://github.com/phstc/shoryuken/pull/537)
116
197
 
117
198
  - Fix spelling of "visibility"
@@ -120,6 +201,7 @@
120
201
  ## [v4.0.1] - 2018-11-21
121
202
 
122
203
  - Allow caching visibility_timeout lookups
204
+
123
205
  - [#533](https://github.com/phstc/shoryuken/pull/533)
124
206
 
125
207
  - Add queue name to inline executor
@@ -138,12 +220,15 @@
138
220
  ## [v3.3.0] - 2018-09-30
139
221
 
140
222
  - Add support for TSTP
223
+
141
224
  - [#492](https://github.com/phstc/shoryuken/pull/492)
142
225
 
143
226
  - Support an empty list of queues as a CLI argument
227
+
144
228
  - [#507](https://github.com/phstc/shoryuken/pull/507)
145
229
 
146
230
  - Add batch support for inline workers
231
+
147
232
  - [#514](https://github.com/phstc/shoryuken/pull/514)
148
233
 
149
234
  - Make InlineExecutor to behave as the DefaultExecutor when calling perform_in
@@ -152,9 +237,11 @@
152
237
  ## [v3.2.3] - 2018-03-25
153
238
 
154
239
  - Don't force eager load for Rails 5
240
+
155
241
  - [#480](https://github.com/phstc/shoryuken/pull/480)
156
242
 
157
243
  - Allow Batch Size to be Specified for Requeue
244
+
158
245
  - [#478](https://github.com/phstc/shoryuken/pull/478)
159
246
 
160
247
  - Support FIFO queues in `shoryuken sqs` commands
@@ -168,9 +255,11 @@
168
255
  ## [v3.2.1] - 2018-02-12
169
256
 
170
257
  - Support FIFO queues in `shoryuken sqs` commands
258
+
171
259
  - [#473](https://github.com/phstc/shoryuken/pull/473)
172
260
 
173
261
  - Allow customizing the default executor launcher
262
+
174
263
  - [#469](https://github.com/phstc/shoryuken/pull/469)
175
264
 
176
265
  - Exclude job_id from message deduplication when ActiveJob
@@ -179,9 +268,11 @@
179
268
  ## [v3.2.0] - 2018-01-03
180
269
 
181
270
  - Preserve parent worker class options
271
+
182
272
  - [#451](https://github.com/phstc/shoryuken/pull/451)
183
273
 
184
274
  - Add -t (shutdown timeout) option to CL
275
+
185
276
  - [#449](https://github.com/phstc/shoryuken/pull/449)
186
277
 
187
278
  - Support inline (Active Job like) for standard workers
@@ -205,6 +296,7 @@
205
296
  ## [v3.1.9] - 2017-08-24
206
297
 
207
298
  - Add support for adding a middleware to the front of chain
299
+
208
300
  - [#427](https://github.com/phstc/shoryuken/pull/427)
209
301
 
210
302
  - Add support for dispatch fire event
@@ -218,9 +310,11 @@
218
310
  ## [v3.1.7] - 2017-07-31
219
311
 
220
312
  - Allow polling strategy per group
313
+
221
314
  - [#417](https://github.com/phstc/shoryuken/pull/417)
222
315
 
223
316
  - Add support for creating FIFO queues
317
+
224
318
  - [#419](https://github.com/phstc/shoryuken/pull/419)
225
319
 
226
320
  - Allow receive message options per queue
@@ -234,6 +328,7 @@
234
328
  ## [v3.1.5] - 2017-07-23
235
329
 
236
330
  - Fix memory leak
331
+
237
332
  - [#414](https://github.com/phstc/shoryuken/pull/414)
238
333
 
239
334
  - Fail fast on bad queue URLs
@@ -247,6 +342,7 @@
247
342
  ## [v3.1.3] - 2017-07-11
248
343
 
249
344
  - Add queue prefixing support for groups
345
+
250
346
  - [#405](https://github.com/phstc/shoryuken/pull/405)
251
347
 
252
348
  - Remove dead code
@@ -260,6 +356,7 @@
260
356
  ## [v3.1.1] - 2017-07-05
261
357
 
262
358
  - Reduce log verbosity introduced in 3.1.0
359
+
263
360
  - [#397](https://github.com/phstc/shoryuken/pull/397)
264
361
 
265
362
  - Try to prevent stack level too deep on Ubuntu
@@ -268,9 +365,11 @@
268
365
  ## [v3.1.0] - 2017-07-02
269
366
 
270
367
  - Add shoryuken sqs delete command
368
+
271
369
  - [#395](https://github.com/phstc/shoryuken/pull/395)
272
370
 
273
371
  - Add processing groups support; Concurrency per queue support
372
+
274
373
  - [#389](https://github.com/phstc/shoryuken/pull/389)
275
374
 
276
375
  - Terminate Shoryuken if the fetcher crashes
@@ -284,6 +383,7 @@
284
383
  ## [v3.0.10] - 2017-06-24
285
384
 
286
385
  - Allow aws sdk v3
386
+
287
387
  - [#381](https://github.com/phstc/shoryuken/pull/381)
288
388
 
289
389
  - Allow configuring Rails via the config file
@@ -297,9 +397,11 @@
297
397
  ## [v3.0.8] - 2017-06-02
298
398
 
299
399
  - Fix miss handling empty batch fetches
400
+
300
401
  - [#376](https://github.com/phstc/shoryuken/pull/376)
301
402
 
302
403
  - Various minor styling changes :lipstick:
404
+
303
405
  - [#373](https://github.com/phstc/shoryuken/pull/373)
304
406
 
305
407
  - Logout when batch delete returns any failure
@@ -308,9 +410,11 @@
308
410
  ## [v3.0.7] - 2017-05-18
309
411
 
310
412
  - Trigger events for dispatch
413
+
311
414
  - [#362](https://github.com/phstc/shoryuken/pull/362)
312
415
 
313
416
  - Log (warn) exponential backoff tries
417
+
314
418
  - [#365](https://github.com/phstc/shoryuken/pull/365)
315
419
 
316
420
  - Fix displaying of long queue names in `shoryuken sqs ls`
@@ -324,12 +428,15 @@
324
428
  ## [v3.0.5] - 2017-04-09
325
429
 
326
430
  - Pause endless dispatcher to avoid CPU overload
431
+
327
432
  - [#354](https://github.com/phstc/shoryuken/pull/354)
328
433
 
329
434
  - Auto log processor errors
435
+
330
436
  - [#355](https://github.com/phstc/shoryuken/pull/355)
331
437
 
332
438
  - Add a delay as a CLI param
439
+
333
440
  - [#350](https://github.com/phstc/shoryuken/pull/350)
334
441
 
335
442
  - Add `sqs purge` command. See https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_PurgeQueue.html
@@ -338,6 +445,7 @@
338
445
  ## [v3.0.4] - 2017-03-24
339
446
 
340
447
  - Add `sqs purge` command. See https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_PurgeQueue.html
448
+
341
449
  - [#344](https://github.com/phstc/shoryuken/pull/344)
342
450
 
343
451
  - Fix "Thread exhaustion" error. This issue was most noticed when using long polling. @waynerobinson :beers: for pairing up on this.
@@ -361,18 +469,23 @@
361
469
  ## [v3.0.0] - 2017-03-12
362
470
 
363
471
  - Replace Celluloid with Concurrent Ruby
472
+
364
473
  - [#291](https://github.com/phstc/shoryuken/pull/291)
365
474
 
366
475
  - Remove AWS configuration from Shoryuken. Now AWS should be configured from outside. Check [this](https://github.com/phstc/shoryuken/wiki/Configure-the-AWS-Client) for more details
476
+
367
477
  - [#317](https://github.com/phstc/shoryuken/pull/317)
368
478
 
369
479
  - Remove deprecation warnings
480
+
370
481
  - [#326](https://github.com/phstc/shoryuken/pull/326)
371
482
 
372
483
  - Allow dynamic adding queues
484
+
373
485
  - [#322](https://github.com/phstc/shoryuken/pull/322)
374
486
 
375
487
  - Support retry_intervals passed in as a lambda. Auto coerce intervals into integer
488
+
376
489
  - [#329](https://github.com/phstc/shoryuken/pull/329)
377
490
 
378
491
  - Add SQS commands `shoryuken help sqs`, such as `ls`, `mv`, `dump` and `requeue`
@@ -381,9 +494,11 @@
381
494
  ## [v2.1.3] - 2017-01-27
382
495
 
383
496
  - Show a warn message when batch isn't supported
497
+
384
498
  - [#302](https://github.com/phstc/shoryuken/pull/302)
385
499
 
386
500
  - Require Celluloid ~> 17
501
+
387
502
  - [#305](https://github.com/phstc/shoryuken/pull/305)
388
503
 
389
504
  - Fix excessive logging when 0 messages found
@@ -392,18 +507,23 @@
392
507
  ## [v2.1.2] - 2016-12-22
393
508
 
394
509
  - Fix loading `logfile` from shoryuken.yml
510
+
395
511
  - [#296](https://github.com/phstc/shoryuken/pull/296)
396
512
 
397
513
  - Add support for Strict priority polling (pending documentation)
514
+
398
515
  - [#288](https://github.com/phstc/shoryuken/pull/288)
399
516
 
400
517
  - Add `test_workers` for end-to-end testing supporting
518
+
401
519
  - [#286](https://github.com/phstc/shoryuken/pull/286)
402
520
 
403
521
  - Update README documenting `configure_client` and `configure_server`
522
+
404
523
  - [#283](https://github.com/phstc/shoryuken/pull/283)
405
524
 
406
525
  - Fix memory leak caused by async tracking busy threads
526
+
407
527
  - [#289](https://github.com/phstc/shoryuken/pull/289)
408
528
 
409
529
  - Refactor fetcher, polling strategy and manager
@@ -417,24 +537,31 @@
417
537
  ## [v2.1.0] - 2016-12-03
418
538
 
419
539
  - Fix celluloid "running in BACKPORTED mode" warning
540
+
420
541
  - [#260](https://github.com/phstc/shoryuken/pull/260)
421
542
 
422
543
  - Allow setting the aws configuration in 'Shoryuken.configure_server'
544
+
423
545
  - [#252](https://github.com/phstc/shoryuken/pull/252)
424
546
 
425
547
  - Allow requiring a file or dir a through `-r`
548
+
426
549
  - [#248](https://github.com/phstc/shoryuken/pull/248)
427
550
 
428
551
  - Reduce info log verbosity
552
+
429
553
  - [#243](https://github.com/phstc/shoryuken/pull/243)
430
554
 
431
555
  - Fix auto extender when using ActiveJob
556
+
432
557
  - [#3213](https://github.com/phstc/shoryuken/pull/213)
433
558
 
434
559
  - Add FIFO queue support
560
+
435
561
  - [#272](https://github.com/phstc/shoryuken/issues/272)
436
562
 
437
563
  - Deprecates initialize_aws
564
+
438
565
  - [#269](https://github.com/phstc/shoryuken/pull/269)
439
566
 
440
567
  - [Other miscellaneous updates](https://github.com/phstc/shoryuken/compare/v2.0.11...v2.1.0)
@@ -462,22 +589,28 @@
462
589
  ## [v2.0.7] - 2016-06-06
463
590
 
464
591
  - Daemonize before loading environment
592
+
465
593
  - [#219](https://github.com/phstc/shoryuken/pull/219)
466
594
 
467
595
  - Fix initialization when using rails
596
+
468
597
  - [#197](https://github.com/phstc/shoryuken/pull/197)
469
598
 
470
599
  - Improve message fetching
600
+
471
601
  - [#214](https://github.com/phstc/shoryuken/pull/214)
472
602
  - [#f4640d9](https://github.com/phstc/shoryuken/commit/f4640d9)
473
603
 
474
604
  - Fix hard shutdown if there are some busy workers when signal received
605
+
475
606
  - [#215](https://github.com/phstc/shoryuken/pull/215)
476
607
 
477
608
  - Fix `rake console` task
609
+
478
610
  - [#208](https://github.com/phstc/shoryuken/pull/208)
479
611
 
480
612
  - Isolate `MessageVisibilityExtender` as new middleware
613
+
481
614
  - [#199](https://github.com/phstc/shoryuken/pull/190)
482
615
 
483
616
  - Fail on non-existent queues
@@ -491,6 +624,7 @@
491
624
  ## [v2.0.5] - 2016-04-17
492
625
 
493
626
  - Fix log initialization when using `Shoryuken::EnvironmentLoader#load`
627
+
494
628
  - [#191](https://github.com/phstc/shoryuken/pull/191)
495
629
 
496
630
  - Fix `enqueue_at` in the ActiveJob Adapter
@@ -499,12 +633,15 @@
499
633
  ## [v2.0.4] - 2016-02-04
500
634
 
501
635
  - Add Rails 3 support
636
+
502
637
  - [#175](https://github.com/phstc/shoryuken/pull/175)
503
638
 
504
639
  - Allow symbol as a queue name in shoryuken_options
640
+
505
641
  - [#177](https://github.com/phstc/shoryuken/pull/177)
506
642
 
507
643
  - Make sure bundler is always updated on Travis CI
644
+
508
645
  - [#176](https://github.com/phstc/shoryuken/pull/176)
509
646
 
510
647
  - Add Rails 5 compatibility
@@ -513,6 +650,7 @@
513
650
  ## [v2.0.3] - 2015-12-30
514
651
 
515
652
  - Allow multiple queues per worker
653
+
516
654
  - [#164](https://github.com/phstc/shoryuken/pull/164)
517
655
 
518
656
  - Fix typo
@@ -521,15 +659,19 @@
521
659
  ## [v2.0.2] - 2015-10-27
522
660
 
523
661
  - Fix warnings that are triggered in some cases with the raise_error matcher
662
+
524
663
  - [#144](https://github.com/phstc/shoryuken/pull/144)
525
664
 
526
665
  - Add lifecycle event registration support
666
+
527
667
  - [#141](https://github.com/phstc/shoryuken/pull/141)
528
668
 
529
669
  - Allow passing array of messages to send_messages
670
+
530
671
  - [#140](https://github.com/phstc/shoryuken/pull/140)
531
672
 
532
673
  - Fix Active Job queue prefixing in Rails apps
674
+
533
675
  - [#139](https://github.com/phstc/shoryuken/pull/139)
534
676
 
535
677
  - Enable override the default queue with a :queue option
@@ -543,9 +685,11 @@
543
685
  ## [v2.0.0] - 2015-09-22
544
686
 
545
687
  - Allow configuration of SQS/SNS endpoints via environment variables
688
+
546
689
  - [#130](https://github.com/phstc/shoryuken/pull/130)
547
690
 
548
691
  - Expose queue_name in the message object
692
+
549
693
  - [#127](https://github.com/phstc/shoryuken/pull/127)
550
694
 
551
695
  - README updates
data/Gemfile CHANGED
@@ -6,7 +6,10 @@ gemspec
6
6
  group :test do
7
7
  gem 'activejob'
8
8
  gem 'aws-sdk-core', '~> 3'
9
- gem 'aws-sdk-sqs'
9
+ # Pin to 1.65.0 because of below issues:
10
+ # - https://github.com/ruby-shoryuken/shoryuken/pull/753#issuecomment-1822720647
11
+ # - https://github.com/getmoto/moto/issues/7054
12
+ gem 'aws-sdk-sqs', '1.65.0'
10
13
  gem 'codeclimate-test-reporter', require: nil
11
14
  gem 'httparty'
12
15
  gem 'multi_xml'
@@ -15,6 +18,6 @@ end
15
18
 
16
19
  group :development do
17
20
  gem 'appraisal', git: 'https://github.com/thoughtbot/appraisal.git'
18
- gem 'pry-byebug', '3.9.0'
21
+ gem 'pry-byebug'
19
22
  gem 'rubocop', '<= 1.12'
20
23
  end