shoryuken 5.2.3 → 6.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) 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/.gitignore +1 -1
  9. data/.rubocop.yml +1 -1
  10. data/Appraisals +6 -0
  11. data/CHANGELOG.md +152 -0
  12. data/Gemfile +6 -3
  13. data/README.md +19 -1
  14. data/bin/cli/sqs.rb +1 -1
  15. data/gemfiles/aws_sdk_core_2.gemfile +1 -1
  16. data/gemfiles/rails_7_0.gemfile +22 -0
  17. data/lib/shoryuken/default_exception_handler.rb +10 -0
  18. data/lib/shoryuken/environment_loader.rb +22 -3
  19. data/lib/shoryuken/extensions/active_job_adapter.rb +5 -2
  20. data/lib/shoryuken/extensions/active_job_extensions.rb +1 -1
  21. data/lib/shoryuken/launcher.rb +25 -3
  22. data/lib/shoryuken/logging.rb +2 -2
  23. data/lib/shoryuken/manager.rb +27 -10
  24. data/lib/shoryuken/message.rb +11 -28
  25. data/lib/shoryuken/middleware/server/active_record.rb +5 -1
  26. data/lib/shoryuken/options.rb +14 -6
  27. data/lib/shoryuken/polling/strict_priority.rb +4 -2
  28. data/lib/shoryuken/polling/weighted_round_robin.rb +3 -5
  29. data/lib/shoryuken/processor.rb +14 -6
  30. data/lib/shoryuken/queue.rb +5 -3
  31. data/lib/shoryuken/runner.rb +4 -3
  32. data/lib/shoryuken/version.rb +1 -1
  33. data/lib/shoryuken.rb +11 -0
  34. data/shoryuken.gemspec +1 -1
  35. data/spec/shared_examples_for_active_job.rb +4 -2
  36. data/spec/shoryuken/default_exception_handler_spec.rb +71 -0
  37. data/spec/shoryuken/environment_loader_spec.rb +42 -9
  38. data/spec/shoryuken/extensions/active_job_base_spec.rb +1 -1
  39. data/spec/shoryuken/fetcher_spec.rb +12 -12
  40. data/spec/shoryuken/launcher_spec.rb +105 -0
  41. data/spec/shoryuken/manager_spec.rb +32 -6
  42. data/spec/shoryuken/polling/weighted_round_robin_spec.rb +31 -6
  43. data/spec/shoryuken/processor_spec.rb +38 -0
  44. data/spec/shoryuken/queue_spec.rb +10 -5
  45. data/spec/shoryuken/util_spec.rb +24 -4
  46. data/spec/shoryuken/worker/default_executor_spec.rb +48 -48
  47. data/spec/shoryuken_spec.rb +9 -0
  48. data/spec/spec_helper.rb +2 -0
  49. metadata +18 -7
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0f2f8c9e8573b699391a74a70d26756e106ccf72b3df9a6fccc32b72d13ec0cd
4
- data.tar.gz: 6a009d5a5e571da339d52a08f4ccda19f144ce06132f4a65e95fabc39aeffad4
3
+ metadata.gz: 6168df5d49a143c56908e559afcaddc28f7416176881429069cd12680db867c6
4
+ data.tar.gz: 1c3a73c4e269457b29962f0a0ac9ba56093ab58cbfab7b00c9aa79c0eb7cb186
5
5
  SHA512:
6
- metadata.gz: e359eee09d82a917c4e13541a121c61f78587421a7e5977052552a4f18512eeb9a2eb720ebc8adf323d0a33fd979b37e9c059a95b5b180eda93cab5a3e034f6b
7
- data.tar.gz: 5217287d2b7f66125852ac0b824353d934a2a8568e2dc07ca3c98f8991cad1a0dafbda87967a407bc5efaea62b1cafa85708e1ea17ccb659b2743878d079a267
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/.gitignore CHANGED
@@ -25,4 +25,4 @@ shoryuken.yml
25
25
  *.log
26
26
  .env
27
27
  rubocop.html
28
- .byebug_history
28
+ .byebug_history
data/.rubocop.yml CHANGED
@@ -23,7 +23,7 @@ Metrics/AbcSize:
23
23
  # because codeclimate already give that for us with more details
24
24
  Enabled: false
25
25
 
26
- Metrics/LineLength:
26
+ Layout/LineLength:
27
27
  Max: 125
28
28
 
29
29
  Style/Alias:
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,3 +1,82 @@
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
+
71
+ ## [v5.3.0] - 2021-10-31
72
+
73
+ - (Refactor) Use Forwardable within Message to avoid method boilerplate
74
+
75
+ - [#681](https://github.com/ruby-shoryuken/shoryuken/pull/681)
76
+
77
+ - Add basic health check API
78
+ - [#679](https://github.com/ruby-shoryuken/shoryuken/pull/679)
79
+
1
80
  ## [v5.2.3] - 2021-07-29
2
81
 
3
82
  - Fire new `:utilization_update` event any time a worker pool's utilization changes
@@ -11,13 +90,16 @@
11
90
  ## [v5.2.1] - 2021-04-06
12
91
 
13
92
  - Reduce message batch sizes in `shoryuken sqs requeue` and `shoryuken sqs mv` commands
93
+
14
94
  - [#666](https://github.com/ruby-shoryuken/shoryuken/pull/666)
15
95
 
16
96
  - Fix bug in `shoryuken sqs requeue` and `shoryuken sqs mv` where those commands would exceed the SQS `SendMessageBatch` maximum payload size
97
+
17
98
  - [#663](https://github.com/ruby-shoryuken/shoryuken/issues/663)
18
99
  - [#664](https://github.com/ruby-shoryuken/shoryuken/pull/664)
19
100
 
20
101
  - Remove test stub for `Concurrent.global_io_executor`
102
+
21
103
  - [#662](https://github.com/ruby-shoryuken/shoryuken/pull/662)
22
104
 
23
105
  - Run integration tests on CI
@@ -36,14 +118,17 @@
36
118
  ## [v5.1.0] - 2021-02-06
37
119
 
38
120
  - Add support for specifying SQS SendMessage parameters with ActiveJob `.set`
121
+
39
122
  - [#635](https://github.com/phstc/shoryuken/pull/635)
40
123
  - [#648](https://github.com/phstc/shoryuken/pull/648)
41
124
  - [#651](https://github.com/phstc/shoryuken/pull/651)
42
125
 
43
126
  - Unpause FIFO queues on worker completion
127
+
44
128
  - [#644](https://github.com/phstc/shoryuken/pull/644)
45
129
 
46
130
  - Add multiple versions of Rails to test matrix
131
+
47
132
  - [#647](https://github.com/phstc/shoryuken/pull/647)
48
133
 
49
134
  - Migrate from Travis CI to Github Actions
@@ -85,9 +170,11 @@
85
170
  ## [v5.0.0] - 2019-06-18
86
171
 
87
172
  - Fix bug where empty queues were not paused in batch processing mode
173
+
88
174
  - [#569](https://github.com/phstc/shoryuken/pull/569)
89
175
 
90
176
  - Preserve batch limit when receiving messages from a FIFO queue
177
+
91
178
  - [#563](https://github.com/phstc/shoryuken/pull/563)
92
179
 
93
180
  - Replace static options with instance options
@@ -101,9 +188,11 @@
101
188
  ## [v4.0.2] - 2018-11-26
102
189
 
103
190
  - Fix the delegated methods to public warning
191
+
104
192
  - [#536](https://github.com/phstc/shoryuken/pull/536)
105
193
 
106
194
  - Specify exception class to `raise_error` matcher warning
195
+
107
196
  - [#537](https://github.com/phstc/shoryuken/pull/537)
108
197
 
109
198
  - Fix spelling of "visibility"
@@ -112,6 +201,7 @@
112
201
  ## [v4.0.1] - 2018-11-21
113
202
 
114
203
  - Allow caching visibility_timeout lookups
204
+
115
205
  - [#533](https://github.com/phstc/shoryuken/pull/533)
116
206
 
117
207
  - Add queue name to inline executor
@@ -130,12 +220,15 @@
130
220
  ## [v3.3.0] - 2018-09-30
131
221
 
132
222
  - Add support for TSTP
223
+
133
224
  - [#492](https://github.com/phstc/shoryuken/pull/492)
134
225
 
135
226
  - Support an empty list of queues as a CLI argument
227
+
136
228
  - [#507](https://github.com/phstc/shoryuken/pull/507)
137
229
 
138
230
  - Add batch support for inline workers
231
+
139
232
  - [#514](https://github.com/phstc/shoryuken/pull/514)
140
233
 
141
234
  - Make InlineExecutor to behave as the DefaultExecutor when calling perform_in
@@ -144,9 +237,11 @@
144
237
  ## [v3.2.3] - 2018-03-25
145
238
 
146
239
  - Don't force eager load for Rails 5
240
+
147
241
  - [#480](https://github.com/phstc/shoryuken/pull/480)
148
242
 
149
243
  - Allow Batch Size to be Specified for Requeue
244
+
150
245
  - [#478](https://github.com/phstc/shoryuken/pull/478)
151
246
 
152
247
  - Support FIFO queues in `shoryuken sqs` commands
@@ -160,9 +255,11 @@
160
255
  ## [v3.2.1] - 2018-02-12
161
256
 
162
257
  - Support FIFO queues in `shoryuken sqs` commands
258
+
163
259
  - [#473](https://github.com/phstc/shoryuken/pull/473)
164
260
 
165
261
  - Allow customizing the default executor launcher
262
+
166
263
  - [#469](https://github.com/phstc/shoryuken/pull/469)
167
264
 
168
265
  - Exclude job_id from message deduplication when ActiveJob
@@ -171,9 +268,11 @@
171
268
  ## [v3.2.0] - 2018-01-03
172
269
 
173
270
  - Preserve parent worker class options
271
+
174
272
  - [#451](https://github.com/phstc/shoryuken/pull/451)
175
273
 
176
274
  - Add -t (shutdown timeout) option to CL
275
+
177
276
  - [#449](https://github.com/phstc/shoryuken/pull/449)
178
277
 
179
278
  - Support inline (Active Job like) for standard workers
@@ -197,6 +296,7 @@
197
296
  ## [v3.1.9] - 2017-08-24
198
297
 
199
298
  - Add support for adding a middleware to the front of chain
299
+
200
300
  - [#427](https://github.com/phstc/shoryuken/pull/427)
201
301
 
202
302
  - Add support for dispatch fire event
@@ -210,9 +310,11 @@
210
310
  ## [v3.1.7] - 2017-07-31
211
311
 
212
312
  - Allow polling strategy per group
313
+
213
314
  - [#417](https://github.com/phstc/shoryuken/pull/417)
214
315
 
215
316
  - Add support for creating FIFO queues
317
+
216
318
  - [#419](https://github.com/phstc/shoryuken/pull/419)
217
319
 
218
320
  - Allow receive message options per queue
@@ -226,6 +328,7 @@
226
328
  ## [v3.1.5] - 2017-07-23
227
329
 
228
330
  - Fix memory leak
331
+
229
332
  - [#414](https://github.com/phstc/shoryuken/pull/414)
230
333
 
231
334
  - Fail fast on bad queue URLs
@@ -239,6 +342,7 @@
239
342
  ## [v3.1.3] - 2017-07-11
240
343
 
241
344
  - Add queue prefixing support for groups
345
+
242
346
  - [#405](https://github.com/phstc/shoryuken/pull/405)
243
347
 
244
348
  - Remove dead code
@@ -252,6 +356,7 @@
252
356
  ## [v3.1.1] - 2017-07-05
253
357
 
254
358
  - Reduce log verbosity introduced in 3.1.0
359
+
255
360
  - [#397](https://github.com/phstc/shoryuken/pull/397)
256
361
 
257
362
  - Try to prevent stack level too deep on Ubuntu
@@ -260,9 +365,11 @@
260
365
  ## [v3.1.0] - 2017-07-02
261
366
 
262
367
  - Add shoryuken sqs delete command
368
+
263
369
  - [#395](https://github.com/phstc/shoryuken/pull/395)
264
370
 
265
371
  - Add processing groups support; Concurrency per queue support
372
+
266
373
  - [#389](https://github.com/phstc/shoryuken/pull/389)
267
374
 
268
375
  - Terminate Shoryuken if the fetcher crashes
@@ -276,6 +383,7 @@
276
383
  ## [v3.0.10] - 2017-06-24
277
384
 
278
385
  - Allow aws sdk v3
386
+
279
387
  - [#381](https://github.com/phstc/shoryuken/pull/381)
280
388
 
281
389
  - Allow configuring Rails via the config file
@@ -289,9 +397,11 @@
289
397
  ## [v3.0.8] - 2017-06-02
290
398
 
291
399
  - Fix miss handling empty batch fetches
400
+
292
401
  - [#376](https://github.com/phstc/shoryuken/pull/376)
293
402
 
294
403
  - Various minor styling changes :lipstick:
404
+
295
405
  - [#373](https://github.com/phstc/shoryuken/pull/373)
296
406
 
297
407
  - Logout when batch delete returns any failure
@@ -300,9 +410,11 @@
300
410
  ## [v3.0.7] - 2017-05-18
301
411
 
302
412
  - Trigger events for dispatch
413
+
303
414
  - [#362](https://github.com/phstc/shoryuken/pull/362)
304
415
 
305
416
  - Log (warn) exponential backoff tries
417
+
306
418
  - [#365](https://github.com/phstc/shoryuken/pull/365)
307
419
 
308
420
  - Fix displaying of long queue names in `shoryuken sqs ls`
@@ -316,12 +428,15 @@
316
428
  ## [v3.0.5] - 2017-04-09
317
429
 
318
430
  - Pause endless dispatcher to avoid CPU overload
431
+
319
432
  - [#354](https://github.com/phstc/shoryuken/pull/354)
320
433
 
321
434
  - Auto log processor errors
435
+
322
436
  - [#355](https://github.com/phstc/shoryuken/pull/355)
323
437
 
324
438
  - Add a delay as a CLI param
439
+
325
440
  - [#350](https://github.com/phstc/shoryuken/pull/350)
326
441
 
327
442
  - Add `sqs purge` command. See https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_PurgeQueue.html
@@ -330,6 +445,7 @@
330
445
  ## [v3.0.4] - 2017-03-24
331
446
 
332
447
  - Add `sqs purge` command. See https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_PurgeQueue.html
448
+
333
449
  - [#344](https://github.com/phstc/shoryuken/pull/344)
334
450
 
335
451
  - Fix "Thread exhaustion" error. This issue was most noticed when using long polling. @waynerobinson :beers: for pairing up on this.
@@ -353,18 +469,23 @@
353
469
  ## [v3.0.0] - 2017-03-12
354
470
 
355
471
  - Replace Celluloid with Concurrent Ruby
472
+
356
473
  - [#291](https://github.com/phstc/shoryuken/pull/291)
357
474
 
358
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
+
359
477
  - [#317](https://github.com/phstc/shoryuken/pull/317)
360
478
 
361
479
  - Remove deprecation warnings
480
+
362
481
  - [#326](https://github.com/phstc/shoryuken/pull/326)
363
482
 
364
483
  - Allow dynamic adding queues
484
+
365
485
  - [#322](https://github.com/phstc/shoryuken/pull/322)
366
486
 
367
487
  - Support retry_intervals passed in as a lambda. Auto coerce intervals into integer
488
+
368
489
  - [#329](https://github.com/phstc/shoryuken/pull/329)
369
490
 
370
491
  - Add SQS commands `shoryuken help sqs`, such as `ls`, `mv`, `dump` and `requeue`
@@ -373,9 +494,11 @@
373
494
  ## [v2.1.3] - 2017-01-27
374
495
 
375
496
  - Show a warn message when batch isn't supported
497
+
376
498
  - [#302](https://github.com/phstc/shoryuken/pull/302)
377
499
 
378
500
  - Require Celluloid ~> 17
501
+
379
502
  - [#305](https://github.com/phstc/shoryuken/pull/305)
380
503
 
381
504
  - Fix excessive logging when 0 messages found
@@ -384,18 +507,23 @@
384
507
  ## [v2.1.2] - 2016-12-22
385
508
 
386
509
  - Fix loading `logfile` from shoryuken.yml
510
+
387
511
  - [#296](https://github.com/phstc/shoryuken/pull/296)
388
512
 
389
513
  - Add support for Strict priority polling (pending documentation)
514
+
390
515
  - [#288](https://github.com/phstc/shoryuken/pull/288)
391
516
 
392
517
  - Add `test_workers` for end-to-end testing supporting
518
+
393
519
  - [#286](https://github.com/phstc/shoryuken/pull/286)
394
520
 
395
521
  - Update README documenting `configure_client` and `configure_server`
522
+
396
523
  - [#283](https://github.com/phstc/shoryuken/pull/283)
397
524
 
398
525
  - Fix memory leak caused by async tracking busy threads
526
+
399
527
  - [#289](https://github.com/phstc/shoryuken/pull/289)
400
528
 
401
529
  - Refactor fetcher, polling strategy and manager
@@ -409,24 +537,31 @@
409
537
  ## [v2.1.0] - 2016-12-03
410
538
 
411
539
  - Fix celluloid "running in BACKPORTED mode" warning
540
+
412
541
  - [#260](https://github.com/phstc/shoryuken/pull/260)
413
542
 
414
543
  - Allow setting the aws configuration in 'Shoryuken.configure_server'
544
+
415
545
  - [#252](https://github.com/phstc/shoryuken/pull/252)
416
546
 
417
547
  - Allow requiring a file or dir a through `-r`
548
+
418
549
  - [#248](https://github.com/phstc/shoryuken/pull/248)
419
550
 
420
551
  - Reduce info log verbosity
552
+
421
553
  - [#243](https://github.com/phstc/shoryuken/pull/243)
422
554
 
423
555
  - Fix auto extender when using ActiveJob
556
+
424
557
  - [#3213](https://github.com/phstc/shoryuken/pull/213)
425
558
 
426
559
  - Add FIFO queue support
560
+
427
561
  - [#272](https://github.com/phstc/shoryuken/issues/272)
428
562
 
429
563
  - Deprecates initialize_aws
564
+
430
565
  - [#269](https://github.com/phstc/shoryuken/pull/269)
431
566
 
432
567
  - [Other miscellaneous updates](https://github.com/phstc/shoryuken/compare/v2.0.11...v2.1.0)
@@ -454,22 +589,28 @@
454
589
  ## [v2.0.7] - 2016-06-06
455
590
 
456
591
  - Daemonize before loading environment
592
+
457
593
  - [#219](https://github.com/phstc/shoryuken/pull/219)
458
594
 
459
595
  - Fix initialization when using rails
596
+
460
597
  - [#197](https://github.com/phstc/shoryuken/pull/197)
461
598
 
462
599
  - Improve message fetching
600
+
463
601
  - [#214](https://github.com/phstc/shoryuken/pull/214)
464
602
  - [#f4640d9](https://github.com/phstc/shoryuken/commit/f4640d9)
465
603
 
466
604
  - Fix hard shutdown if there are some busy workers when signal received
605
+
467
606
  - [#215](https://github.com/phstc/shoryuken/pull/215)
468
607
 
469
608
  - Fix `rake console` task
609
+
470
610
  - [#208](https://github.com/phstc/shoryuken/pull/208)
471
611
 
472
612
  - Isolate `MessageVisibilityExtender` as new middleware
613
+
473
614
  - [#199](https://github.com/phstc/shoryuken/pull/190)
474
615
 
475
616
  - Fail on non-existent queues
@@ -483,6 +624,7 @@
483
624
  ## [v2.0.5] - 2016-04-17
484
625
 
485
626
  - Fix log initialization when using `Shoryuken::EnvironmentLoader#load`
627
+
486
628
  - [#191](https://github.com/phstc/shoryuken/pull/191)
487
629
 
488
630
  - Fix `enqueue_at` in the ActiveJob Adapter
@@ -491,12 +633,15 @@
491
633
  ## [v2.0.4] - 2016-02-04
492
634
 
493
635
  - Add Rails 3 support
636
+
494
637
  - [#175](https://github.com/phstc/shoryuken/pull/175)
495
638
 
496
639
  - Allow symbol as a queue name in shoryuken_options
640
+
497
641
  - [#177](https://github.com/phstc/shoryuken/pull/177)
498
642
 
499
643
  - Make sure bundler is always updated on Travis CI
644
+
500
645
  - [#176](https://github.com/phstc/shoryuken/pull/176)
501
646
 
502
647
  - Add Rails 5 compatibility
@@ -505,6 +650,7 @@
505
650
  ## [v2.0.3] - 2015-12-30
506
651
 
507
652
  - Allow multiple queues per worker
653
+
508
654
  - [#164](https://github.com/phstc/shoryuken/pull/164)
509
655
 
510
656
  - Fix typo
@@ -513,15 +659,19 @@
513
659
  ## [v2.0.2] - 2015-10-27
514
660
 
515
661
  - Fix warnings that are triggered in some cases with the raise_error matcher
662
+
516
663
  - [#144](https://github.com/phstc/shoryuken/pull/144)
517
664
 
518
665
  - Add lifecycle event registration support
666
+
519
667
  - [#141](https://github.com/phstc/shoryuken/pull/141)
520
668
 
521
669
  - Allow passing array of messages to send_messages
670
+
522
671
  - [#140](https://github.com/phstc/shoryuken/pull/140)
523
672
 
524
673
  - Fix Active Job queue prefixing in Rails apps
674
+
525
675
  - [#139](https://github.com/phstc/shoryuken/pull/139)
526
676
 
527
677
  - Enable override the default queue with a :queue option
@@ -535,9 +685,11 @@
535
685
  ## [v2.0.0] - 2015-09-22
536
686
 
537
687
  - Allow configuration of SQS/SNS endpoints via environment variables
688
+
538
689
  - [#130](https://github.com/phstc/shoryuken/pull/130)
539
690
 
540
691
  - Expose queue_name in the message object
692
+
541
693
  - [#127](https://github.com/phstc/shoryuken/pull/127)
542
694
 
543
695
  - README updates