shoryuken 7.0.0.alpha1 → 7.0.0.rc1
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.
- checksums.yaml +4 -4
- data/.github/workflows/push.yml +3 -3
- data/.github/workflows/specs.yml +27 -17
- data/.github/workflows/verify-action-pins.yml +1 -1
- data/.rspec +2 -1
- data/.ruby-version +1 -1
- data/Appraisals +6 -18
- data/CHANGELOG.md +200 -142
- data/Gemfile +1 -0
- data/README.md +12 -13
- data/bin/cli/base.rb +1 -2
- data/bin/cli/sqs.rb +6 -5
- data/bin/shoryuken +3 -2
- data/gemfiles/rails_7_2.gemfile +1 -0
- data/gemfiles/rails_8_0.gemfile +1 -0
- data/gemfiles/{rails_7_1.gemfile → rails_8_1.gemfile} +2 -1
- data/lib/shoryuken/body_parser.rb +3 -1
- data/lib/shoryuken/client.rb +2 -0
- data/lib/shoryuken/default_exception_handler.rb +2 -0
- data/lib/shoryuken/default_worker_registry.rb +11 -11
- data/lib/shoryuken/environment_loader.rb +6 -6
- data/lib/shoryuken/extensions/active_job_adapter.rb +21 -6
- data/lib/shoryuken/extensions/active_job_concurrent_send_adapter.rb +5 -5
- data/lib/shoryuken/extensions/active_job_extensions.rb +2 -0
- data/lib/shoryuken/fetcher.rb +4 -2
- data/lib/shoryuken/helpers/atomic_boolean.rb +44 -0
- data/lib/shoryuken/helpers/atomic_counter.rb +104 -0
- data/lib/shoryuken/helpers/atomic_hash.rb +182 -0
- data/lib/shoryuken/helpers/hash_utils.rb +56 -0
- data/lib/shoryuken/helpers/string_utils.rb +65 -0
- data/lib/shoryuken/helpers/timer_task.rb +66 -0
- data/lib/shoryuken/inline_message.rb +22 -0
- data/lib/shoryuken/launcher.rb +16 -0
- data/lib/shoryuken/logging/base.rb +26 -0
- data/lib/shoryuken/logging/pretty.rb +25 -0
- data/lib/shoryuken/logging/without_timestamp.rb +25 -0
- data/lib/shoryuken/logging.rb +6 -12
- data/lib/shoryuken/manager.rb +6 -4
- data/lib/shoryuken/message.rb +116 -1
- data/lib/shoryuken/middleware/chain.rb +140 -43
- data/lib/shoryuken/middleware/entry.rb +30 -0
- data/lib/shoryuken/middleware/server/active_record.rb +2 -0
- data/lib/shoryuken/middleware/server/auto_delete.rb +2 -0
- data/lib/shoryuken/middleware/server/auto_extend_visibility.rb +11 -11
- data/lib/shoryuken/middleware/server/exponential_backoff_retry.rb +5 -3
- data/lib/shoryuken/middleware/server/timing.rb +2 -0
- data/lib/shoryuken/options.rb +9 -5
- data/lib/shoryuken/polling/base_strategy.rb +126 -0
- data/lib/shoryuken/polling/queue_configuration.rb +103 -0
- data/lib/shoryuken/polling/strict_priority.rb +2 -0
- data/lib/shoryuken/polling/weighted_round_robin.rb +2 -0
- data/lib/shoryuken/processor.rb +5 -2
- data/lib/shoryuken/queue.rb +6 -4
- data/lib/shoryuken/runner.rb +12 -12
- data/lib/shoryuken/util.rb +6 -6
- data/lib/shoryuken/version.rb +3 -1
- data/lib/shoryuken/worker/default_executor.rb +2 -0
- data/lib/shoryuken/worker/inline_executor.rb +3 -1
- data/lib/shoryuken/worker.rb +173 -0
- data/lib/shoryuken/worker_registry.rb +2 -0
- data/lib/shoryuken.rb +8 -28
- data/shoryuken.gemspec +6 -6
- data/spec/integration/active_job_continuation_spec.rb +145 -0
- data/spec/integration/launcher_spec.rb +2 -3
- data/spec/shared_examples_for_active_job.rb +13 -8
- data/spec/shoryuken/body_parser_spec.rb +1 -2
- data/spec/shoryuken/client_spec.rb +1 -1
- data/spec/shoryuken/default_exception_handler_spec.rb +9 -10
- data/spec/shoryuken/default_worker_registry_spec.rb +1 -2
- data/spec/shoryuken/environment_loader_spec.rb +9 -8
- data/spec/shoryuken/extensions/active_job_adapter_spec.rb +2 -1
- data/spec/shoryuken/extensions/active_job_base_spec.rb +2 -1
- data/spec/shoryuken/extensions/active_job_concurrent_send_adapter_spec.rb +2 -1
- data/spec/shoryuken/extensions/active_job_continuation_spec.rb +110 -0
- data/spec/shoryuken/extensions/active_job_wrapper_spec.rb +2 -1
- data/spec/shoryuken/fetcher_spec.rb +23 -26
- data/spec/shoryuken/helpers/atomic_boolean_spec.rb +196 -0
- data/spec/shoryuken/helpers/atomic_counter_spec.rb +177 -0
- data/spec/shoryuken/helpers/atomic_hash_spec.rb +307 -0
- data/spec/shoryuken/helpers/hash_utils_spec.rb +145 -0
- data/spec/shoryuken/helpers/string_utils_spec.rb +124 -0
- data/spec/shoryuken/helpers/timer_task_spec.rb +298 -0
- data/spec/shoryuken/helpers_integration_spec.rb +96 -0
- data/spec/shoryuken/inline_message_spec.rb +196 -0
- data/spec/shoryuken/launcher_spec.rb +23 -2
- data/spec/shoryuken/manager_spec.rb +1 -2
- data/spec/shoryuken/middleware/chain_spec.rb +1 -1
- data/spec/shoryuken/middleware/server/auto_delete_spec.rb +1 -1
- data/spec/shoryuken/middleware/server/auto_extend_visibility_spec.rb +1 -1
- data/spec/shoryuken/middleware/server/exponential_backoff_retry_spec.rb +1 -1
- data/spec/shoryuken/middleware/server/timing_spec.rb +1 -1
- data/spec/shoryuken/options_spec.rb +4 -4
- data/spec/shoryuken/polling/base_strategy_spec.rb +280 -0
- data/spec/shoryuken/polling/queue_configuration_spec.rb +195 -0
- data/spec/shoryuken/polling/strict_priority_spec.rb +1 -1
- data/spec/shoryuken/polling/weighted_round_robin_spec.rb +1 -1
- data/spec/shoryuken/processor_spec.rb +1 -1
- data/spec/shoryuken/queue_spec.rb +2 -3
- data/spec/shoryuken/runner_spec.rb +1 -3
- data/spec/shoryuken/util_spec.rb +1 -1
- data/spec/shoryuken/worker/default_executor_spec.rb +1 -1
- data/spec/shoryuken/worker/inline_executor_spec.rb +1 -1
- data/spec/shoryuken/worker_spec.rb +15 -11
- data/spec/shoryuken_spec.rb +1 -1
- data/spec/spec_helper.rb +16 -0
- metadata +72 -29
- data/.github/FUNDING.yml +0 -12
- data/gemfiles/rails_6_1.gemfile +0 -18
- data/gemfiles/rails_7_0.gemfile +0 -19
- data/lib/shoryuken/core_ext.rb +0 -69
- data/lib/shoryuken/polling/base.rb +0 -67
- data/shoryuken.jpg +0 -0
- data/spec/shoryuken/core_ext_spec.rb +0 -40
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 44ec6add623605d696f0a4151aab96d37331250fa66a6b804edea13b06a2b816
|
|
4
|
+
data.tar.gz: efe2733bb86113a83b7788041262421c84ee4c50a47718b32ef8bdb505fa15fe
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 84daafb107ff842e74cdb3872885b6c01ea34d95a5eaf6cf2efeeb3398bc835e570ea5b7f93b9451e4e5841d1d27b53ea35db677a4ddd78cdd75c13b417eebae
|
|
7
|
+
data.tar.gz: ad0dcb19240b8179c62bb6b74e23b1801d1f0d671a0f72a5b26d74a0bbd1f47158abd57a6cee091d88fe903ea91ce09afd34702f9086cb4b2cf14a9a17397509
|
data/.github/workflows/push.yml
CHANGED
|
@@ -19,12 +19,12 @@ jobs:
|
|
|
19
19
|
id-token: write
|
|
20
20
|
|
|
21
21
|
steps:
|
|
22
|
-
- uses: actions/checkout@
|
|
22
|
+
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
|
23
23
|
with:
|
|
24
24
|
fetch-depth: 0
|
|
25
25
|
|
|
26
26
|
- name: Set up Ruby
|
|
27
|
-
uses: ruby/setup-ruby@
|
|
27
|
+
uses: ruby/setup-ruby@d5126b9b3579e429dd52e51e68624dda2e05be25 # v1.267.0
|
|
28
28
|
with:
|
|
29
29
|
bundler-cache: false
|
|
30
30
|
|
|
@@ -33,4 +33,4 @@ jobs:
|
|
|
33
33
|
bundle install --jobs 4 --retry 3
|
|
34
34
|
|
|
35
35
|
# Release
|
|
36
|
-
- uses: rubygems/release-gem@
|
|
36
|
+
- uses: rubygems/release-gem@1c162a739e8b4cb21a676e97b087e8268d8fc40b # v1.1.2
|
data/.github/workflows/specs.yml
CHANGED
|
@@ -7,12 +7,12 @@ jobs:
|
|
|
7
7
|
name: All Specs
|
|
8
8
|
strategy:
|
|
9
9
|
matrix:
|
|
10
|
-
ruby: ['3.
|
|
10
|
+
ruby: ['3.1', '3.2', '3.3', '3.4']
|
|
11
11
|
gemfile: ['Gemfile']
|
|
12
12
|
runs-on: ubuntu-latest
|
|
13
13
|
steps:
|
|
14
14
|
- name: Checkout code
|
|
15
|
-
uses: actions/checkout@
|
|
15
|
+
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
|
16
16
|
|
|
17
17
|
- name: Start LocalStack
|
|
18
18
|
run: docker compose up -d
|
|
@@ -26,7 +26,7 @@ jobs:
|
|
|
26
26
|
done
|
|
27
27
|
'
|
|
28
28
|
|
|
29
|
-
- uses: ruby/setup-ruby@
|
|
29
|
+
- uses: ruby/setup-ruby@d5126b9b3579e429dd52e51e68624dda2e05be25 # v1.267.0
|
|
30
30
|
with:
|
|
31
31
|
ruby-version: ${{ matrix.ruby }}
|
|
32
32
|
bundler-cache: true
|
|
@@ -45,34 +45,44 @@ jobs:
|
|
|
45
45
|
name: Rails Specs
|
|
46
46
|
strategy:
|
|
47
47
|
matrix:
|
|
48
|
-
rails: ['
|
|
48
|
+
rails: ['7.2', '8.0', '8.1']
|
|
49
49
|
include:
|
|
50
|
-
- rails: '6.1'
|
|
51
|
-
ruby: '3.0'
|
|
52
|
-
gemfile: gemfiles/rails_6_1.gemfile
|
|
53
|
-
- rails: '7.0'
|
|
54
|
-
ruby: '3.1'
|
|
55
|
-
gemfile: gemfiles/rails_7_0.gemfile
|
|
56
|
-
- rails: '7.1'
|
|
57
|
-
ruby: '3.2'
|
|
58
|
-
gemfile: gemfiles/rails_7_1.gemfile
|
|
59
50
|
- rails: '7.2'
|
|
60
|
-
ruby: '3.
|
|
51
|
+
ruby: '3.2'
|
|
61
52
|
gemfile: gemfiles/rails_7_2.gemfile
|
|
62
53
|
- rails: '8.0'
|
|
63
|
-
ruby: '3.
|
|
54
|
+
ruby: '3.3'
|
|
64
55
|
gemfile: gemfiles/rails_8_0.gemfile
|
|
56
|
+
- rails: '8.1'
|
|
57
|
+
ruby: '3.4'
|
|
58
|
+
gemfile: gemfiles/rails_8_1.gemfile
|
|
65
59
|
runs-on: ubuntu-latest
|
|
66
60
|
env:
|
|
67
61
|
BUNDLE_GEMFILE: ${{ matrix.gemfile }}
|
|
68
62
|
steps:
|
|
69
63
|
- name: Checkout code
|
|
70
|
-
uses: actions/checkout@
|
|
64
|
+
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
|
71
65
|
|
|
72
|
-
- uses: ruby/setup-ruby@
|
|
66
|
+
- uses: ruby/setup-ruby@d5126b9b3579e429dd52e51e68624dda2e05be25 # v1.267.0
|
|
73
67
|
with:
|
|
74
68
|
ruby-version: ${{ matrix.ruby }}
|
|
75
69
|
bundler-cache: true
|
|
76
70
|
|
|
77
71
|
- name: Run Rails specs
|
|
78
72
|
run: bundle exec rake spec:rails
|
|
73
|
+
|
|
74
|
+
ci-success:
|
|
75
|
+
name: CI Success
|
|
76
|
+
runs-on: ubuntu-latest
|
|
77
|
+
if: always()
|
|
78
|
+
needs:
|
|
79
|
+
- all_specs
|
|
80
|
+
- rails_specs
|
|
81
|
+
steps:
|
|
82
|
+
- name: Check all jobs passed
|
|
83
|
+
if: |
|
|
84
|
+
contains(needs.*.result, 'failure') ||
|
|
85
|
+
contains(needs.*.result, 'cancelled') ||
|
|
86
|
+
contains(needs.*.result, 'skipped')
|
|
87
|
+
run: exit 1
|
|
88
|
+
- run: echo "All CI checks passed!"
|
|
@@ -7,7 +7,7 @@ jobs:
|
|
|
7
7
|
verify:
|
|
8
8
|
runs-on: ubuntu-latest
|
|
9
9
|
steps:
|
|
10
|
-
- uses: actions/checkout@
|
|
10
|
+
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
|
11
11
|
- name: Check SHA pins
|
|
12
12
|
run: |
|
|
13
13
|
if grep -E -r "uses: .*/.*@(v[0-9]+|main|master)($|[[:space:]]|$)" --include="*.yml" --include="*.yaml" .github/workflows/ | grep -v "#"; then
|
data/.rspec
CHANGED
|
@@ -1 +1,2 @@
|
|
|
1
|
-
--color
|
|
1
|
+
--color
|
|
2
|
+
--require spec_helper
|
data/.ruby-version
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
3.4.
|
|
1
|
+
3.4.7
|
data/Appraisals
CHANGED
|
@@ -1,21 +1,3 @@
|
|
|
1
|
-
appraise 'rails_6_1' do
|
|
2
|
-
group :test do
|
|
3
|
-
gem 'activejob', '~> 6.1'
|
|
4
|
-
end
|
|
5
|
-
end
|
|
6
|
-
|
|
7
|
-
appraise 'rails_7_0' do
|
|
8
|
-
group :test do
|
|
9
|
-
gem 'activejob', '~> 7.0'
|
|
10
|
-
end
|
|
11
|
-
end
|
|
12
|
-
|
|
13
|
-
appraise 'rails_7_1' do
|
|
14
|
-
group :test do
|
|
15
|
-
gem 'activejob', '~> 7.1'
|
|
16
|
-
end
|
|
17
|
-
end
|
|
18
|
-
|
|
19
1
|
appraise 'rails_7_2' do
|
|
20
2
|
group :test do
|
|
21
3
|
gem 'activejob', '~> 7.2'
|
|
@@ -27,3 +9,9 @@ appraise 'rails_8_0' do
|
|
|
27
9
|
gem 'activejob', '~> 8.0'
|
|
28
10
|
end
|
|
29
11
|
end
|
|
12
|
+
|
|
13
|
+
appraise 'rails_8_1' do
|
|
14
|
+
group :test do
|
|
15
|
+
gem 'activejob', '~> 8.1'
|
|
16
|
+
end
|
|
17
|
+
end
|