shoryuken 5.3.0 → 6.2.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.devcontainer/Dockerfile +17 -0
- data/.devcontainer/base.Dockerfile +43 -0
- data/.devcontainer/devcontainer.json +35 -0
- data/.github/dependabot.yml +6 -0
- data/.github/workflows/specs.yml +5 -2
- data/.github/workflows/stale.yml +20 -0
- data/Appraisals +6 -0
- data/CHANGELOG.md +144 -0
- data/Gemfile +5 -2
- data/README.md +19 -1
- data/bin/cli/sqs.rb +1 -1
- data/gemfiles/aws_sdk_core_2.gemfile +1 -1
- data/gemfiles/rails_7_0.gemfile +22 -0
- data/lib/shoryuken/default_exception_handler.rb +10 -0
- data/lib/shoryuken/environment_loader.rb +22 -3
- data/lib/shoryuken/extensions/active_job_adapter.rb +5 -2
- data/lib/shoryuken/extensions/active_job_extensions.rb +1 -1
- data/lib/shoryuken/launcher.rb +18 -3
- data/lib/shoryuken/logging.rb +2 -2
- data/lib/shoryuken/manager.rb +24 -9
- data/lib/shoryuken/middleware/server/active_record.rb +5 -1
- data/lib/shoryuken/options.rb +14 -6
- data/lib/shoryuken/polling/strict_priority.rb +4 -2
- data/lib/shoryuken/polling/weighted_round_robin.rb +3 -5
- data/lib/shoryuken/processor.rb +14 -6
- data/lib/shoryuken/queue.rb +5 -3
- data/lib/shoryuken/runner.rb +0 -3
- data/lib/shoryuken/version.rb +1 -1
- data/lib/shoryuken.rb +7 -0
- data/shoryuken.gemspec +1 -1
- data/spec/shared_examples_for_active_job.rb +4 -2
- data/spec/shoryuken/default_exception_handler_spec.rb +71 -0
- data/spec/shoryuken/environment_loader_spec.rb +42 -9
- data/spec/shoryuken/extensions/active_job_base_spec.rb +1 -1
- data/spec/shoryuken/fetcher_spec.rb +12 -12
- data/spec/shoryuken/launcher_spec.rb +46 -1
- data/spec/shoryuken/manager_spec.rb +10 -6
- data/spec/shoryuken/polling/weighted_round_robin_spec.rb +31 -6
- data/spec/shoryuken/processor_spec.rb +38 -0
- data/spec/shoryuken/queue_spec.rb +10 -5
- data/spec/shoryuken/util_spec.rb +24 -4
- data/spec/shoryuken/worker/default_executor_spec.rb +48 -48
- data/spec/spec_helper.rb +2 -0
- metadata +16 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6168df5d49a143c56908e559afcaddc28f7416176881429069cd12680db867c6
|
4
|
+
data.tar.gz: 1c3a73c4e269457b29962f0a0ac9ba56093ab58cbfab7b00c9aa79c0eb7cb186
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
|
+
}
|
data/.github/workflows/specs.yml
CHANGED
@@ -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
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
|
-
|
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'
|
21
|
+
gem 'pry-byebug'
|
19
22
|
gem 'rubocop', '<= 1.12'
|
20
23
|
end
|