shoryuken 6.2.1 → 7.0.2
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 +36 -0
- data/.github/workflows/specs.yml +49 -44
- data/.github/workflows/verify-action-pins.yml +16 -0
- data/.gitignore +4 -1
- data/.rspec +3 -1
- data/.rubocop.yml +6 -1
- data/.ruby-version +1 -0
- data/.yard-lint.yml +279 -0
- data/CHANGELOG.md +308 -139
- data/Gemfile +1 -8
- data/Gemfile.lint +9 -0
- data/Gemfile.lint.lock +69 -0
- data/README.md +16 -33
- data/Rakefile +6 -10
- data/bin/clean_sqs +52 -0
- data/bin/cli/base.rb +22 -2
- data/bin/cli/sqs.rb +74 -7
- data/bin/integrations +275 -0
- data/bin/scenario +154 -0
- data/bin/shoryuken +3 -2
- data/docker-compose.yml +6 -0
- data/lib/{shoryuken/extensions/active_job_extensions.rb → active_job/extensions.rb} +20 -6
- data/lib/active_job/queue_adapters/shoryuken_adapter.rb +208 -0
- data/lib/active_job/queue_adapters/shoryuken_concurrent_send_adapter.rb +78 -0
- data/lib/shoryuken/active_job/current_attributes.rb +139 -0
- data/lib/shoryuken/active_job/job_wrapper.rb +28 -0
- data/lib/shoryuken/body_parser.rb +11 -1
- data/lib/shoryuken/client.rb +16 -0
- data/lib/shoryuken/default_exception_handler.rb +11 -0
- data/lib/shoryuken/default_worker_registry.rb +39 -11
- data/lib/shoryuken/environment_loader.rb +85 -15
- data/lib/shoryuken/errors.rb +36 -0
- data/lib/shoryuken/fetcher.rb +41 -3
- data/lib/shoryuken/helpers/atomic_boolean.rb +58 -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 +80 -0
- data/lib/shoryuken/inline_message.rb +22 -0
- data/lib/shoryuken/launcher.rb +55 -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 +43 -15
- data/lib/shoryuken/manager.rb +84 -5
- data/lib/shoryuken/message.rb +116 -1
- data/lib/shoryuken/middleware/chain.rb +141 -43
- data/lib/shoryuken/middleware/entry.rb +30 -0
- data/lib/shoryuken/middleware/server/active_record.rb +10 -0
- data/lib/shoryuken/middleware/server/auto_delete.rb +12 -0
- data/lib/shoryuken/middleware/server/auto_extend_visibility.rb +37 -11
- data/lib/shoryuken/middleware/server/exponential_backoff_retry.rb +34 -3
- data/lib/shoryuken/middleware/server/non_retryable_exception.rb +95 -0
- data/lib/shoryuken/middleware/server/timing.rb +13 -0
- data/lib/shoryuken/options.rb +154 -13
- data/lib/shoryuken/polling/base_strategy.rb +127 -0
- data/lib/shoryuken/polling/queue_configuration.rb +103 -0
- data/lib/shoryuken/polling/strict_priority.rb +41 -0
- data/lib/shoryuken/polling/weighted_round_robin.rb +44 -0
- data/lib/shoryuken/processor.rb +37 -3
- data/lib/shoryuken/queue.rb +99 -8
- data/lib/shoryuken/runner.rb +54 -16
- data/lib/shoryuken/util.rb +32 -7
- data/lib/shoryuken/version.rb +4 -1
- data/lib/shoryuken/worker/default_executor.rb +23 -1
- data/lib/shoryuken/worker/inline_executor.rb +33 -2
- data/lib/shoryuken/worker.rb +224 -0
- data/lib/shoryuken/worker_registry.rb +35 -0
- data/lib/shoryuken.rb +27 -38
- data/renovate.json +62 -0
- data/shoryuken.gemspec +8 -4
- data/spec/integration/.rspec +1 -0
- data/spec/integration/active_job/adapter_configuration/configuration_spec.rb +26 -0
- data/spec/integration/active_job/bulk_enqueue/bulk_enqueue_spec.rb +53 -0
- data/spec/integration/active_job/current_attributes/bulk_enqueue_spec.rb +50 -0
- data/spec/integration/active_job/current_attributes/complex_types_spec.rb +55 -0
- data/spec/integration/active_job/current_attributes/empty_context_spec.rb +41 -0
- data/spec/integration/active_job/current_attributes/full_context_spec.rb +63 -0
- data/spec/integration/active_job/current_attributes/partial_context_spec.rb +57 -0
- data/spec/integration/active_job/custom_attributes/number_attributes_spec.rb +37 -0
- data/spec/integration/active_job/custom_attributes/string_attributes_spec.rb +39 -0
- data/spec/integration/active_job/error_handling/job_wrapper_spec.rb +53 -0
- data/spec/integration/active_job/fifo_and_attributes/deduplication_spec.rb +86 -0
- data/spec/integration/active_job/keyword_arguments/keyword_arguments_spec.rb +63 -0
- data/spec/integration/active_job/retry/discard_on_spec.rb +43 -0
- data/spec/integration/active_job/retry/retry_on_spec.rb +36 -0
- data/spec/integration/active_job/roundtrip/roundtrip_spec.rb +52 -0
- data/spec/integration/active_job/scheduled/scheduled_spec.rb +76 -0
- data/spec/integration/active_record_middleware/active_record_middleware_spec.rb +84 -0
- data/spec/integration/auto_delete/auto_delete_spec.rb +53 -0
- data/spec/integration/auto_extend_visibility/auto_extend_visibility_spec.rb +57 -0
- data/spec/integration/aws_config/aws_config_spec.rb +59 -0
- data/spec/integration/batch_processing/batch_processing_spec.rb +37 -0
- data/spec/integration/body_parser/json_parser_spec.rb +45 -0
- data/spec/integration/body_parser/proc_parser_spec.rb +54 -0
- data/spec/integration/body_parser/text_parser_spec.rb +43 -0
- data/spec/integration/concurrent_processing/concurrent_processing_spec.rb +45 -0
- data/spec/integration/custom_group_polling_strategy/custom_group_polling_strategy_spec.rb +87 -0
- data/spec/integration/dead_letter_queue/dead_letter_queue_spec.rb +91 -0
- data/spec/integration/exception_handlers/exception_handlers_spec.rb +69 -0
- data/spec/integration/exponential_backoff/exponential_backoff_spec.rb +67 -0
- data/spec/integration/fifo_ordering/fifo_ordering_spec.rb +44 -0
- data/spec/integration/large_payloads/large_payloads_spec.rb +30 -0
- data/spec/integration/launcher/launcher_spec.rb +40 -0
- data/spec/integration/message_attributes/message_attributes_spec.rb +54 -0
- data/spec/integration/message_operations/message_operations_spec.rb +59 -0
- data/spec/integration/middleware_chain/empty_chain_spec.rb +11 -0
- data/spec/integration/middleware_chain/execution_order_spec.rb +33 -0
- data/spec/integration/middleware_chain/removal_spec.rb +31 -0
- data/spec/integration/middleware_chain/short_circuit_spec.rb +40 -0
- data/spec/integration/non_retryable_exception/non_retryable_exception_spec.rb +149 -0
- data/spec/integration/polling_strategies/polling_strategies_spec.rb +46 -0
- data/spec/integration/queue_operations/queue_operations_spec.rb +84 -0
- data/spec/integration/rails/rails_72/Gemfile +6 -0
- data/spec/integration/rails/rails_72/activejob_adapter_spec.rb +98 -0
- data/spec/integration/rails/rails_80/Gemfile +6 -0
- data/spec/integration/rails/rails_80/activejob_adapter_spec.rb +98 -0
- data/spec/integration/rails/rails_80/continuation_spec.rb +79 -0
- data/spec/integration/rails/rails_81/Gemfile +6 -0
- data/spec/integration/rails/rails_81/activejob_adapter_spec.rb +98 -0
- data/spec/integration/rails/rails_81/continuation_spec.rb +79 -0
- data/spec/integration/retry_behavior/retry_behavior_spec.rb +45 -0
- data/spec/integration/spec_helper.rb +7 -0
- data/spec/integration/strict_priority_polling/strict_priority_polling_spec.rb +58 -0
- data/spec/integration/visibility_timeout/visibility_timeout_spec.rb +37 -0
- data/spec/integration/worker_enqueueing/worker_enqueueing_spec.rb +60 -0
- data/spec/integration/worker_groups/worker_groups_spec.rb +79 -0
- data/spec/integration/worker_lifecycle/worker_lifecycle_spec.rb +33 -0
- data/spec/integrations_helper.rb +243 -0
- data/spec/lib/active_job/extensions_spec.rb +225 -0
- data/spec/lib/active_job/queue_adapters/shoryuken_adapter_spec.rb +29 -0
- data/spec/{shoryuken/extensions/active_job_concurrent_send_adapter_spec.rb → lib/active_job/queue_adapters/shoryuken_concurrent_send_adapter_spec.rb} +5 -4
- data/spec/{shoryuken/extensions/active_job_wrapper_spec.rb → lib/shoryuken/active_job/job_wrapper_spec.rb} +6 -5
- data/spec/{shoryuken → lib/shoryuken}/body_parser_spec.rb +2 -4
- data/spec/{shoryuken → lib/shoryuken}/client_spec.rb +1 -1
- data/spec/{shoryuken → lib/shoryuken}/default_exception_handler_spec.rb +9 -10
- data/spec/{shoryuken → lib/shoryuken}/default_worker_registry_spec.rb +1 -2
- data/spec/{shoryuken → lib/shoryuken}/environment_loader_spec.rb +10 -9
- data/spec/{shoryuken → lib/shoryuken}/fetcher_spec.rb +23 -26
- data/spec/lib/shoryuken/helpers/atomic_boolean_spec.rb +196 -0
- data/spec/lib/shoryuken/helpers/atomic_counter_spec.rb +177 -0
- data/spec/lib/shoryuken/helpers/atomic_hash_spec.rb +307 -0
- data/spec/lib/shoryuken/helpers/hash_utils_spec.rb +145 -0
- data/spec/lib/shoryuken/helpers/string_utils_spec.rb +124 -0
- data/spec/lib/shoryuken/helpers/timer_task_spec.rb +298 -0
- data/spec/lib/shoryuken/helpers_integration_spec.rb +96 -0
- data/spec/lib/shoryuken/inline_message_spec.rb +196 -0
- data/spec/{shoryuken → lib/shoryuken}/launcher_spec.rb +23 -2
- data/spec/lib/shoryuken/logging_spec.rb +242 -0
- data/spec/{shoryuken → lib/shoryuken}/manager_spec.rb +1 -2
- data/spec/lib/shoryuken/message_spec.rb +109 -0
- data/spec/{shoryuken → lib/shoryuken}/middleware/chain_spec.rb +1 -1
- data/spec/lib/shoryuken/middleware/entry_spec.rb +68 -0
- data/spec/lib/shoryuken/middleware/server/active_record_spec.rb +133 -0
- data/spec/{shoryuken → lib/shoryuken}/middleware/server/auto_delete_spec.rb +1 -1
- data/spec/{shoryuken → lib/shoryuken}/middleware/server/auto_extend_visibility_spec.rb +51 -1
- data/spec/{shoryuken → lib/shoryuken}/middleware/server/exponential_backoff_retry_spec.rb +1 -1
- data/spec/lib/shoryuken/middleware/server/non_retryable_exception_spec.rb +214 -0
- data/spec/{shoryuken → lib/shoryuken}/middleware/server/timing_spec.rb +1 -1
- data/spec/{shoryuken → lib/shoryuken}/options_spec.rb +49 -6
- data/spec/lib/shoryuken/polling/base_strategy_spec.rb +280 -0
- data/spec/lib/shoryuken/polling/queue_configuration_spec.rb +195 -0
- data/spec/{shoryuken → lib/shoryuken}/polling/strict_priority_spec.rb +1 -1
- data/spec/{shoryuken → lib/shoryuken}/polling/weighted_round_robin_spec.rb +1 -1
- data/spec/{shoryuken → lib/shoryuken}/processor_spec.rb +1 -1
- data/spec/{shoryuken → lib/shoryuken}/queue_spec.rb +2 -3
- data/spec/{shoryuken → lib/shoryuken}/runner_spec.rb +1 -3
- data/spec/{shoryuken → lib/shoryuken}/util_spec.rb +2 -2
- data/spec/lib/shoryuken/version_spec.rb +17 -0
- data/spec/{shoryuken → lib/shoryuken}/worker/default_executor_spec.rb +1 -1
- data/spec/lib/shoryuken/worker/inline_executor_spec.rb +105 -0
- data/spec/lib/shoryuken/worker_registry_spec.rb +63 -0
- data/spec/{shoryuken → lib/shoryuken}/worker_spec.rb +15 -11
- data/spec/{shoryuken_spec.rb → lib/shoryuken_spec.rb} +1 -1
- data/spec/shared_examples_for_active_job.rb +40 -15
- data/spec/spec_helper.rb +48 -2
- metadata +295 -101
- data/.codeclimate.yml +0 -20
- data/.devcontainer/Dockerfile +0 -17
- data/.devcontainer/base.Dockerfile +0 -43
- data/.devcontainer/devcontainer.json +0 -35
- data/.github/FUNDING.yml +0 -12
- data/.github/dependabot.yml +0 -6
- data/.github/workflows/stale.yml +0 -20
- data/.reek.yml +0 -5
- data/Appraisals +0 -42
- data/gemfiles/.gitignore +0 -1
- data/gemfiles/aws_sdk_core_2.gemfile +0 -21
- data/gemfiles/rails_4_2.gemfile +0 -20
- data/gemfiles/rails_5_2.gemfile +0 -21
- data/gemfiles/rails_6_0.gemfile +0 -21
- data/gemfiles/rails_6_1.gemfile +0 -21
- data/gemfiles/rails_7_0.gemfile +0 -22
- data/lib/shoryuken/core_ext.rb +0 -69
- data/lib/shoryuken/extensions/active_job_adapter.rb +0 -103
- data/lib/shoryuken/extensions/active_job_concurrent_send_adapter.rb +0 -50
- data/lib/shoryuken/polling/base.rb +0 -67
- data/shoryuken.jpg +0 -0
- data/spec/integration/launcher_spec.rb +0 -128
- data/spec/shoryuken/core_ext_spec.rb +0 -40
- data/spec/shoryuken/extensions/active_job_adapter_spec.rb +0 -7
- data/spec/shoryuken/extensions/active_job_base_spec.rb +0 -84
- data/spec/shoryuken/worker/inline_executor_spec.rb +0 -49
data/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,172 @@
|
|
|
1
|
+
## [7.0.2] - 2026-04-16
|
|
2
|
+
|
|
3
|
+
- Enhancement: Replace LocalStack with ElasticMQ for SQS integration tests (mensfeld)
|
|
4
|
+
- ElasticMQ is free, open-source, and requires no auth token (LocalStack 2026.x requires paid account)
|
|
5
|
+
- Uses `softwaremill/elasticmq-native` image (~30MB vs ~1GB+, starts in milliseconds)
|
|
6
|
+
- Rename `setup_localstack` to `setup_sqs` and `bin/clean_localstack` to `bin/clean_sqs`
|
|
7
|
+
|
|
8
|
+
- Fix: Allow custom polling strategy to be configured per-group via `add_group` (mensfeld)
|
|
9
|
+
- `add_group` now accepts `polling_strategy:` keyword argument
|
|
10
|
+
- `polling_strategy()` reads from the groups hash populated by `add_group`, with fallback to raw options
|
|
11
|
+
- `EnvironmentLoader` passes `polling_strategy` through when parsing YAML group config
|
|
12
|
+
- [#925](https://github.com/ruby-shoryuken/shoryuken/issues/925)
|
|
13
|
+
|
|
14
|
+
## [7.0.1] - 2026-02-07
|
|
15
|
+
|
|
16
|
+
- Enhancement: Add non-retryable exception middleware (Saidbek)
|
|
17
|
+
- [#958](https://github.com/ruby-shoryuken/shoryuken/pull/958)
|
|
18
|
+
|
|
19
|
+
- Fix: ActiveJob keyword arguments support (mensfeld)
|
|
20
|
+
- Jobs with keyword arguments were broken due to improper argument forwarding in `SQSSendMessageParametersSupport#initialize`
|
|
21
|
+
- Use Ruby's argument forwarding (`...`) to properly pass all arguments including keyword arguments
|
|
22
|
+
- [#962](https://github.com/ruby-shoryuken/shoryuken/pull/962)
|
|
23
|
+
|
|
24
|
+
- Fix: Replace `ArgumentError` with custom `FifoDelayNotSupportedError` for FIFO delay errors
|
|
25
|
+
- Provides more specific error type for programmatic error handling
|
|
26
|
+
- [#957](https://github.com/ruby-shoryuken/shoryuken/pull/957)
|
|
27
|
+
|
|
28
|
+
## [7.0.0] - 2026-01-19
|
|
29
|
+
|
|
30
|
+
**See the [Upgrading to 7.0](https://github.com/ruby-shoryuken/shoryuken/wiki/Upgrading-to-7.0) guide for detailed migration instructions.**
|
|
31
|
+
|
|
32
|
+
- Breaking: Add `Shoryuken::Errors` module with domain-specific error classes
|
|
33
|
+
- Introduces `Shoryuken::Errors::BaseError` as base class for all Shoryuken errors
|
|
34
|
+
- `Shoryuken::Errors::QueueNotFoundError` for non-existent or inaccessible SQS queues
|
|
35
|
+
- `Shoryuken::Errors::InvalidConfigurationError` for configuration validation failures
|
|
36
|
+
- `Shoryuken::Errors::InvalidWorkerRegistrationError` for worker registration conflicts
|
|
37
|
+
- `Shoryuken::Errors::InvalidPollingStrategyError` for invalid polling strategy configuration
|
|
38
|
+
- `Shoryuken::Errors::InvalidEventError` for invalid lifecycle event names
|
|
39
|
+
- `Shoryuken::Errors::InvalidDelayError` for delays exceeding SQS 15-minute maximum
|
|
40
|
+
- `Shoryuken::Errors::InvalidArnError` for invalid ARN format
|
|
41
|
+
- Replaces generic Ruby exceptions (ArgumentError, RuntimeError) with specific error types
|
|
42
|
+
|
|
43
|
+
- Removed: `Shoryuken::Shutdown` class
|
|
44
|
+
- This class was unused since the Celluloid removal in 2016
|
|
45
|
+
- Originally used to raise on worker threads during hard shutdown
|
|
46
|
+
- Current shutdown flow uses `Interrupt` and executor-level shutdown instead
|
|
47
|
+
|
|
48
|
+
- Fix: Raise ArgumentError when using delay with FIFO queues
|
|
49
|
+
- FIFO queues do not support per-message DelaySeconds
|
|
50
|
+
- Previously caused confusing AWS errors with ActiveJob's `retry_on` (Rails 6.1+ defaults to `wait: 3.seconds`)
|
|
51
|
+
- Now raises clear ArgumentError with guidance to use `wait: 0`
|
|
52
|
+
- Fixes #924
|
|
53
|
+
|
|
54
|
+
- Enhancement: Use fiber-local storage for logging context
|
|
55
|
+
- Replaces thread-local storage with Fiber[] for proper isolation in async environments
|
|
56
|
+
- Ensures logging context doesn't leak between fibers in the same thread
|
|
57
|
+
- Leverages Ruby 3.2+ fiber-local storage API
|
|
58
|
+
|
|
59
|
+
- Enhancement: Add yard-lint with comprehensive YARD documentation
|
|
60
|
+
- Adds yard-lint gem for documentation linting
|
|
61
|
+
- Documents all public classes, modules, and methods with YARD tags
|
|
62
|
+
- Ensures 100% documentation coverage
|
|
63
|
+
|
|
64
|
+
- Enhancement: Add `enqueue_all` for bulk ActiveJob enqueuing (Rails 7.1+)
|
|
65
|
+
- Implements efficient bulk enqueuing using SQS `send_message_batch` API
|
|
66
|
+
- Called by `ActiveJob.perform_all_later` for batching multiple jobs
|
|
67
|
+
- Batches jobs in groups of 10 (SQS limit) per queue
|
|
68
|
+
- Groups jobs by queue name for efficient multi-queue handling
|
|
69
|
+
|
|
70
|
+
- Enhancement: Add ActiveJob Continuations support (Rails 8.1+)
|
|
71
|
+
- Implements `stopping?` method in ActiveJob adapters to signal graceful shutdown
|
|
72
|
+
- Enables jobs to checkpoint progress and resume after interruption
|
|
73
|
+
- Handles past timestamps correctly (SQS treats negative delays as immediate delivery)
|
|
74
|
+
- Tracks shutdown state in Launcher via `stopping?` flag
|
|
75
|
+
- Leverages existing Shoryuken shutdown lifecycle (stop/stop! methods)
|
|
76
|
+
- See Rails PR #55127 for more details on ActiveJob Continuations
|
|
77
|
+
|
|
78
|
+
- Enhancement: Add CurrentAttributes persistence support
|
|
79
|
+
- Enables Rails `ActiveSupport::CurrentAttributes` to flow from enqueue to job execution
|
|
80
|
+
- Automatically serializes current attributes into job payload when enqueuing
|
|
81
|
+
- Restores attributes before job execution and resets them afterward
|
|
82
|
+
- Supports multiple CurrentAttributes classes
|
|
83
|
+
- Based on Sidekiq's approach using `ActiveJob::Arguments` for serialization
|
|
84
|
+
- Usage: `require 'shoryuken/active_job/current_attributes'` and
|
|
85
|
+
`Shoryuken::ActiveJob::CurrentAttributes.persist('MyApp::Current')`
|
|
86
|
+
|
|
87
|
+
- Breaking: Drop support for Ruby 3.1 (EOL March 2025)
|
|
88
|
+
- Minimum required Ruby version is now 3.2.0
|
|
89
|
+
- Supported Ruby versions: 3.2, 3.3, 3.4
|
|
90
|
+
- Users on Ruby 3.1 should upgrade or remain on Shoryuken 6.x
|
|
91
|
+
|
|
92
|
+
- Breaking: Remove support for Rails versions older than 7.2
|
|
93
|
+
- Rails 7.0 and 7.1 have reached end-of-life (April 2025) and are no longer supported
|
|
94
|
+
- Supported Rails versions: 7.2, 8.0, and 8.1
|
|
95
|
+
- Users on older Rails versions should upgrade or remain on Shoryuken 6.x
|
|
96
|
+
|
|
97
|
+
- Enhancement: Replace Concurrent::AtomicFixnum with pure Ruby AtomicCounter
|
|
98
|
+
- Removes external dependency on concurrent-ruby for atomic fixnum operations
|
|
99
|
+
- Introduces Shoryuken::Helpers::AtomicCounter as a thread-safe alternative using Mutex
|
|
100
|
+
- Reduces gem footprint while maintaining full functionality
|
|
101
|
+
|
|
102
|
+
- Enhancement: Replace Concurrent::AtomicBoolean with pure Ruby AtomicBoolean
|
|
103
|
+
- Removes external dependency on concurrent-ruby for atomic boolean operations
|
|
104
|
+
- Introduces Shoryuken::Helpers::AtomicBoolean extending AtomicCounter
|
|
105
|
+
- Further reduces gem footprint while maintaining full functionality
|
|
106
|
+
|
|
107
|
+
- Enhancement: Replace Concurrent::Hash with pure Ruby AtomicHash
|
|
108
|
+
- Removes external dependency on concurrent-ruby for hash operations
|
|
109
|
+
- Introduces Shoryuken::Helpers::AtomicHash with mutex-protected writes and concurrent reads
|
|
110
|
+
- Ensures JRuby compatibility while maintaining high performance for read-heavy workloads
|
|
111
|
+
- [#866](https://github.com/ruby-shoryuken/shoryuken/pull/866)
|
|
112
|
+
- [#867](https://github.com/ruby-shoryuken/shoryuken/pull/867)
|
|
113
|
+
- [#868](https://github.com/ruby-shoryuken/shoryuken/pull/868)
|
|
114
|
+
|
|
115
|
+
- Enhancement: Replace core class extensions with helper utilities
|
|
116
|
+
- Removes all core Ruby class monkey-patching (Hash and String extensions)
|
|
117
|
+
- Introduces Shoryuken::Helpers::HashUtils.deep_symbolize_keys for configuration processing
|
|
118
|
+
- Introduces Shoryuken::Helpers::StringUtils.constantize for dynamic class loading
|
|
119
|
+
- Eliminates unnecessary ActiveSupport dependencies
|
|
120
|
+
- Completely removes lib/shoryuken/core_ext.rb file
|
|
121
|
+
- Maintains all existing functionality while following Ruby best practices
|
|
122
|
+
- Improves code maintainability and reduces global namespace pollution
|
|
123
|
+
|
|
124
|
+
- Enhancement: Implement Zeitwerk autoloading
|
|
125
|
+
- Replaces manual require statements with Zeitwerk-based autoloading
|
|
126
|
+
- Adds zeitwerk dependency for modern Ruby module loading
|
|
127
|
+
- Splits polling classes into properly named files (BaseStrategy, QueueConfiguration)
|
|
128
|
+
- Reduces startup overhead and improves code organization
|
|
129
|
+
- Maintains backward compatibility while modernizing the codebase
|
|
130
|
+
|
|
131
|
+
- Enhancement: Increase `SendMessageBatch` to 1MB to align with AWS
|
|
132
|
+
- [#864](https://github.com/ruby-shoryuken/shoryuken/pull/864)
|
|
133
|
+
|
|
134
|
+
- Enhancement: Replace OpenStruct usage with Struct for inline execution
|
|
135
|
+
- [#860](https://github.com/ruby-shoryuken/shoryuken/pull/860)
|
|
136
|
+
|
|
137
|
+
- Enhancement: Configure server side logging (BenMorganMY)
|
|
138
|
+
- [#844](https://github.com/ruby-shoryuken/shoryuken/pull/844)
|
|
139
|
+
|
|
140
|
+
- Enhancement: Use -1 as thread priority
|
|
141
|
+
- [#825](https://github.com/ruby-shoryuken/shoryuken/pull/825)
|
|
142
|
+
|
|
143
|
+
- Enhancement: Add Support for message_attributes to InlineExecutor
|
|
144
|
+
- [#835](https://github.com/ruby-shoryuken/shoryuken/pull/835)
|
|
145
|
+
|
|
146
|
+
- Enhancement: Introduce trusted publishing
|
|
147
|
+
- [#840](https://github.com/ruby-shoryuken/shoryuken/pull/840)
|
|
148
|
+
|
|
149
|
+
- Enhancement: Add enqueue_after_transaction_commit? for Rails 7.2 compatibility
|
|
150
|
+
- [#777](https://github.com/ruby-shoryuken/shoryuken/pull/777)
|
|
151
|
+
|
|
152
|
+
- Enhancement: Bring Ruby 3.4 into the CI
|
|
153
|
+
- [#805](https://github.com/ruby-shoryuken/shoryuken/pull/805)
|
|
154
|
+
|
|
155
|
+
- Fix integration tests by updating aws-sdk-sqs and replacing moto with LocalStack
|
|
156
|
+
- [#782](https://github.com/ruby-shoryuken/shoryuken/pull/782)
|
|
157
|
+
- [#783](https://github.com/ruby-shoryuken/shoryuken/pull/783)
|
|
158
|
+
|
|
159
|
+
- Breaking: Remove support of Ruby versions older than 3.1
|
|
160
|
+
- [#783](https://github.com/ruby-shoryuken/shoryuken/pull/783)
|
|
161
|
+
- [#850](https://github.com/ruby-shoryuken/shoryuken/pull/850)
|
|
162
|
+
|
|
163
|
+
- Breaking: Remove support of Rails versions older than 7.0
|
|
164
|
+
- [#783](https://github.com/ruby-shoryuken/shoryuken/pull/783)
|
|
165
|
+
- [#850](https://github.com/ruby-shoryuken/shoryuken/pull/850)
|
|
166
|
+
|
|
167
|
+
- Breaking: Require `aws-sdk-sqs` `>=` `1.66`:
|
|
168
|
+
- [#783](https://github.com/ruby-shoryuken/shoryuken/pull/783)
|
|
169
|
+
|
|
1
170
|
## [v6.2.1] - 2024-02-09
|
|
2
171
|
|
|
3
172
|
- Bugfix: Not able to use extended polling strategy (#759)
|
|
@@ -108,590 +277,590 @@
|
|
|
108
277
|
## [v5.2.0] - 2021-02-26
|
|
109
278
|
|
|
110
279
|
- Set `executions` correctly for ActiveJob jobs
|
|
111
|
-
- [#657](https://github.com/
|
|
280
|
+
- [#657](https://github.com/ruby-shoryuken/shoryuken/pull/657)
|
|
112
281
|
|
|
113
282
|
## [v5.1.1] - 2021-02-10
|
|
114
283
|
|
|
115
284
|
- Fix regression in Ruby 3.0 introduced in Shoryuken 5.1.0, where enqueueing jobs with ActiveJob to workers that used keyword arguments would fail
|
|
116
|
-
- [#654](https://github.com/
|
|
285
|
+
- [#654](https://github.com/ruby-shoryuken/shoryuken/pull/654)
|
|
117
286
|
|
|
118
287
|
## [v5.1.0] - 2021-02-06
|
|
119
288
|
|
|
120
289
|
- Add support for specifying SQS SendMessage parameters with ActiveJob `.set`
|
|
121
290
|
|
|
122
|
-
- [#635](https://github.com/
|
|
123
|
-
- [#648](https://github.com/
|
|
124
|
-
- [#651](https://github.com/
|
|
291
|
+
- [#635](https://github.com/ruby-shoryuken/shoryuken/pull/635)
|
|
292
|
+
- [#648](https://github.com/ruby-shoryuken/shoryuken/pull/648)
|
|
293
|
+
- [#651](https://github.com/ruby-shoryuken/shoryuken/pull/651)
|
|
125
294
|
|
|
126
295
|
- Unpause FIFO queues on worker completion
|
|
127
296
|
|
|
128
|
-
- [#644](https://github.com/
|
|
297
|
+
- [#644](https://github.com/ruby-shoryuken/shoryuken/pull/644)
|
|
129
298
|
|
|
130
299
|
- Add multiple versions of Rails to test matrix
|
|
131
300
|
|
|
132
|
-
- [#647](https://github.com/
|
|
301
|
+
- [#647](https://github.com/ruby-shoryuken/shoryuken/pull/647)
|
|
133
302
|
|
|
134
303
|
- Migrate from Travis CI to Github Actions
|
|
135
|
-
- [#649](https://github.com/
|
|
136
|
-
- [#650](https://github.com/
|
|
137
|
-
- [#652](https://github.com/
|
|
304
|
+
- [#649](https://github.com/ruby-shoryuken/shoryuken/pull/649)
|
|
305
|
+
- [#650](https://github.com/ruby-shoryuken/shoryuken/pull/650)
|
|
306
|
+
- [#652](https://github.com/ruby-shoryuken/shoryuken/pull/652)
|
|
138
307
|
|
|
139
308
|
## [v5.0.6] - 2020-12-30
|
|
140
309
|
|
|
141
310
|
- Load ShoryukenConcurrentSendAdapter when loading Rails
|
|
142
|
-
- [#642](https://github.com/
|
|
311
|
+
- [#642](https://github.com/ruby-shoryuken/shoryuken/pull/642)
|
|
143
312
|
|
|
144
313
|
## [v5.0.5] - 2020-06-07
|
|
145
314
|
|
|
146
315
|
- Add ability to configure queue by ARN
|
|
147
|
-
- [#603](https://github.com/
|
|
316
|
+
- [#603](https://github.com/ruby-shoryuken/shoryuken/pull/603)
|
|
148
317
|
|
|
149
318
|
## [v5.0.4] - 2020-02-20
|
|
150
319
|
|
|
151
320
|
- Add endpoint option to SQS CLI
|
|
152
|
-
- [#595](https://github.com/
|
|
321
|
+
- [#595](https://github.com/ruby-shoryuken/shoryuken/pull/595)
|
|
153
322
|
|
|
154
323
|
## [v5.0.3] - 2019-11-30
|
|
155
324
|
|
|
156
325
|
- Add support for sending messages asynchronous with Active Job using `shoryuken_concurrent_send`
|
|
157
|
-
- [#589](https://github.com/
|
|
158
|
-
- [#588](https://github.com/
|
|
326
|
+
- [#589](https://github.com/ruby-shoryuken/shoryuken/pull/589)
|
|
327
|
+
- [#588](https://github.com/ruby-shoryuken/shoryuken/pull/588)
|
|
159
328
|
|
|
160
329
|
## [v5.0.2] - 2019-11-02
|
|
161
330
|
|
|
162
331
|
- Fix Queue order is reversed if passed through CLI
|
|
163
|
-
- [#571](https://github.com/
|
|
332
|
+
- [#571](https://github.com/ruby-shoryuken/shoryuken/pull/583)
|
|
164
333
|
|
|
165
334
|
## [v5.0.1] - 2019-06-19
|
|
166
335
|
|
|
167
336
|
- Add back attr_accessor for `stop_callback`
|
|
168
|
-
- [#571](https://github.com/
|
|
337
|
+
- [#571](https://github.com/ruby-shoryuken/shoryuken/pull/571)
|
|
169
338
|
|
|
170
339
|
## [v5.0.0] - 2019-06-18
|
|
171
340
|
|
|
172
341
|
- Fix bug where empty queues were not paused in batch processing mode
|
|
173
342
|
|
|
174
|
-
- [#569](https://github.com/
|
|
343
|
+
- [#569](https://github.com/ruby-shoryuken/shoryuken/pull/569)
|
|
175
344
|
|
|
176
345
|
- Preserve batch limit when receiving messages from a FIFO queue
|
|
177
346
|
|
|
178
|
-
- [#563](https://github.com/
|
|
347
|
+
- [#563](https://github.com/ruby-shoryuken/shoryuken/pull/563)
|
|
179
348
|
|
|
180
349
|
- Replace static options with instance options
|
|
181
|
-
- [#534](https://github.com/
|
|
350
|
+
- [#534](https://github.com/ruby-shoryuken/shoryuken/pull/534)
|
|
182
351
|
|
|
183
352
|
## [v4.0.3] - 2019-01-06
|
|
184
353
|
|
|
185
354
|
- Support delay per processing group
|
|
186
|
-
- [#543](https://github.com/
|
|
355
|
+
- [#543](https://github.com/ruby-shoryuken/shoryuken/pull/543)
|
|
187
356
|
|
|
188
357
|
## [v4.0.2] - 2018-11-26
|
|
189
358
|
|
|
190
359
|
- Fix the delegated methods to public warning
|
|
191
360
|
|
|
192
|
-
- [#536](https://github.com/
|
|
361
|
+
- [#536](https://github.com/ruby-shoryuken/shoryuken/pull/536)
|
|
193
362
|
|
|
194
363
|
- Specify exception class to `raise_error` matcher warning
|
|
195
364
|
|
|
196
|
-
- [#537](https://github.com/
|
|
365
|
+
- [#537](https://github.com/ruby-shoryuken/shoryuken/pull/537)
|
|
197
366
|
|
|
198
367
|
- Fix spelling of "visibility"
|
|
199
|
-
- [#538](https://github.com/
|
|
368
|
+
- [#538](https://github.com/ruby-shoryuken/shoryuken/pull/538)
|
|
200
369
|
|
|
201
370
|
## [v4.0.1] - 2018-11-21
|
|
202
371
|
|
|
203
372
|
- Allow caching visibility_timeout lookups
|
|
204
373
|
|
|
205
|
-
- [#533](https://github.com/
|
|
374
|
+
- [#533](https://github.com/ruby-shoryuken/shoryuken/pull/533)
|
|
206
375
|
|
|
207
376
|
- Add queue name to inline executor
|
|
208
|
-
- [#532](https://github.com/
|
|
377
|
+
- [#532](https://github.com/ruby-shoryuken/shoryuken/pull/532)
|
|
209
378
|
|
|
210
379
|
## [v4.0.0] - 2018-11-01
|
|
211
380
|
|
|
212
381
|
- Process messages to the same message group ID one by one
|
|
213
|
-
- [#530](https://github.com/
|
|
382
|
+
- [#530](https://github.com/ruby-shoryuken/shoryuken/pull/530)
|
|
214
383
|
|
|
215
384
|
## [v3.3.1] - 2018-10-30
|
|
216
385
|
|
|
217
386
|
- Memoization of boolean causes extra calls to SQS
|
|
218
|
-
- [#529](https://github.com/
|
|
387
|
+
- [#529](https://github.com/ruby-shoryuken/shoryuken/pull/529)
|
|
219
388
|
|
|
220
389
|
## [v3.3.0] - 2018-09-30
|
|
221
390
|
|
|
222
391
|
- Add support for TSTP
|
|
223
392
|
|
|
224
|
-
- [#492](https://github.com/
|
|
393
|
+
- [#492](https://github.com/ruby-shoryuken/shoryuken/pull/492)
|
|
225
394
|
|
|
226
395
|
- Support an empty list of queues as a CLI argument
|
|
227
396
|
|
|
228
|
-
- [#507](https://github.com/
|
|
397
|
+
- [#507](https://github.com/ruby-shoryuken/shoryuken/pull/507)
|
|
229
398
|
|
|
230
399
|
- Add batch support for inline workers
|
|
231
400
|
|
|
232
|
-
- [#514](https://github.com/
|
|
401
|
+
- [#514](https://github.com/ruby-shoryuken/shoryuken/pull/514)
|
|
233
402
|
|
|
234
403
|
- Make InlineExecutor to behave as the DefaultExecutor when calling perform_in
|
|
235
|
-
- [#518](https://github.com/
|
|
404
|
+
- [#518](https://github.com/ruby-shoryuken/shoryuken/pull/518)
|
|
236
405
|
|
|
237
406
|
## [v3.2.3] - 2018-03-25
|
|
238
407
|
|
|
239
408
|
- Don't force eager load for Rails 5
|
|
240
409
|
|
|
241
|
-
- [#480](https://github.com/
|
|
410
|
+
- [#480](https://github.com/ruby-shoryuken/shoryuken/pull/480)
|
|
242
411
|
|
|
243
412
|
- Allow Batch Size to be Specified for Requeue
|
|
244
413
|
|
|
245
|
-
- [#478](https://github.com/
|
|
414
|
+
- [#478](https://github.com/ruby-shoryuken/shoryuken/pull/478)
|
|
246
415
|
|
|
247
416
|
- Support FIFO queues in `shoryuken sqs` commands
|
|
248
|
-
- [#473](https://github.com/
|
|
417
|
+
- [#473](https://github.com/ruby-shoryuken/shoryuken/pull/473)
|
|
249
418
|
|
|
250
419
|
## [v3.2.2] - 2018-02-13
|
|
251
420
|
|
|
252
421
|
- Fix requeue' for FIFO queues
|
|
253
|
-
- [#48fcb42](https://github.com/
|
|
422
|
+
- [#48fcb42](https://github.com/ruby-shoryuken/shoryuken/commit/48fcb4260c3b41a9e45fa29bb857e8fa37dcee82)
|
|
254
423
|
|
|
255
424
|
## [v3.2.1] - 2018-02-12
|
|
256
425
|
|
|
257
426
|
- Support FIFO queues in `shoryuken sqs` commands
|
|
258
427
|
|
|
259
|
-
- [#473](https://github.com/
|
|
428
|
+
- [#473](https://github.com/ruby-shoryuken/shoryuken/pull/473)
|
|
260
429
|
|
|
261
430
|
- Allow customizing the default executor launcher
|
|
262
431
|
|
|
263
|
-
- [#469](https://github.com/
|
|
432
|
+
- [#469](https://github.com/ruby-shoryuken/shoryuken/pull/469)
|
|
264
433
|
|
|
265
434
|
- Exclude job_id from message deduplication when ActiveJob
|
|
266
|
-
- [#462](https://github.com/
|
|
435
|
+
- [#462](https://github.com/ruby-shoryuken/shoryuken/pull/462)
|
|
267
436
|
|
|
268
437
|
## [v3.2.0] - 2018-01-03
|
|
269
438
|
|
|
270
439
|
- Preserve parent worker class options
|
|
271
440
|
|
|
272
|
-
- [#451](https://github.com/
|
|
441
|
+
- [#451](https://github.com/ruby-shoryuken/shoryuken/pull/451)
|
|
273
442
|
|
|
274
443
|
- Add -t (shutdown timeout) option to CL
|
|
275
444
|
|
|
276
|
-
- [#449](https://github.com/
|
|
445
|
+
- [#449](https://github.com/ruby-shoryuken/shoryuken/pull/449)
|
|
277
446
|
|
|
278
447
|
- Support inline (Active Job like) for standard workers
|
|
279
|
-
- [#448](https://github.com/
|
|
448
|
+
- [#448](https://github.com/ruby-shoryuken/shoryuken/pull/448)
|
|
280
449
|
|
|
281
450
|
## [v3.1.12] - 2017-09-25
|
|
282
451
|
|
|
283
452
|
- Reduce fetch log verbosity
|
|
284
|
-
- [#436](https://github.com/
|
|
453
|
+
- [#436](https://github.com/ruby-shoryuken/shoryuken/pull/436)
|
|
285
454
|
|
|
286
455
|
## [v3.1.11] - 2017-09-02
|
|
287
456
|
|
|
288
457
|
- Auto retry (up to 3 times) fetch errors
|
|
289
|
-
- [#429](https://github.com/
|
|
458
|
+
- [#429](https://github.com/ruby-shoryuken/shoryuken/pull/429)
|
|
290
459
|
|
|
291
460
|
## [v3.1.10] - 2017-09-02
|
|
292
461
|
|
|
293
462
|
- Make Shoryuken compatible with AWS SDK 3 and 2
|
|
294
|
-
- [#433](https://github.com/
|
|
463
|
+
- [#433](https://github.com/ruby-shoryuken/shoryuken/pull/433)
|
|
295
464
|
|
|
296
465
|
## [v3.1.9] - 2017-08-24
|
|
297
466
|
|
|
298
467
|
- Add support for adding a middleware to the front of chain
|
|
299
468
|
|
|
300
|
-
- [#427](https://github.com/
|
|
469
|
+
- [#427](https://github.com/ruby-shoryuken/shoryuken/pull/427)
|
|
301
470
|
|
|
302
471
|
- Add support for dispatch fire event
|
|
303
|
-
- [#426](https://github.com/
|
|
472
|
+
- [#426](https://github.com/ruby-shoryuken/shoryuken/pull/426)
|
|
304
473
|
|
|
305
474
|
## [v3.1.8] - 2017-08-17
|
|
306
475
|
|
|
307
476
|
- Make Polling strategy backward compatibility
|
|
308
|
-
- [#424](https://github.com/
|
|
477
|
+
- [#424](https://github.com/ruby-shoryuken/shoryuken/pull/424)
|
|
309
478
|
|
|
310
479
|
## [v3.1.7] - 2017-07-31
|
|
311
480
|
|
|
312
481
|
- Allow polling strategy per group
|
|
313
482
|
|
|
314
|
-
- [#417](https://github.com/
|
|
483
|
+
- [#417](https://github.com/ruby-shoryuken/shoryuken/pull/417)
|
|
315
484
|
|
|
316
485
|
- Add support for creating FIFO queues
|
|
317
486
|
|
|
318
|
-
- [#419](https://github.com/
|
|
487
|
+
- [#419](https://github.com/ruby-shoryuken/shoryuken/pull/419)
|
|
319
488
|
|
|
320
489
|
- Allow receive message options per queue
|
|
321
|
-
- [#420](https://github.com/
|
|
490
|
+
- [#420](https://github.com/ruby-shoryuken/shoryuken/pull/420)
|
|
322
491
|
|
|
323
492
|
## [v3.1.6] - 2017-07-24
|
|
324
493
|
|
|
325
494
|
- Fix issue with dispatch_loop and delays
|
|
326
|
-
- [#416](https://github.com/
|
|
495
|
+
- [#416](https://github.com/ruby-shoryuken/shoryuken/pull/416)
|
|
327
496
|
|
|
328
497
|
## [v3.1.5] - 2017-07-23
|
|
329
498
|
|
|
330
499
|
- Fix memory leak
|
|
331
500
|
|
|
332
|
-
- [#414](https://github.com/
|
|
501
|
+
- [#414](https://github.com/ruby-shoryuken/shoryuken/pull/414)
|
|
333
502
|
|
|
334
503
|
- Fail fast on bad queue URLs
|
|
335
|
-
- [#413](https://github.com/
|
|
504
|
+
- [#413](https://github.com/ruby-shoryuken/shoryuken/pull/413)
|
|
336
505
|
|
|
337
506
|
## [v3.1.4] - 2017-07-14
|
|
338
507
|
|
|
339
508
|
- Require forwardable allowding to call `shoryuken` without `bundle exec`
|
|
340
|
-
- [#409](https://github.com/
|
|
509
|
+
- [#409](https://github.com/ruby-shoryuken/shoryuken/pull/409)
|
|
341
510
|
|
|
342
511
|
## [v3.1.3] - 2017-07-11
|
|
343
512
|
|
|
344
513
|
- Add queue prefixing support for groups
|
|
345
514
|
|
|
346
|
-
- [#405](https://github.com/
|
|
515
|
+
- [#405](https://github.com/ruby-shoryuken/shoryuken/pull/405)
|
|
347
516
|
|
|
348
517
|
- Remove dead code
|
|
349
|
-
- [#402](https://github.com/
|
|
518
|
+
- [#402](https://github.com/ruby-shoryuken/shoryuken/pull/402)
|
|
350
519
|
|
|
351
520
|
## [v3.1.2] - 2017-07-06
|
|
352
521
|
|
|
353
522
|
- Fix stack level too deep on Ubuntu
|
|
354
|
-
- [#400](https://github.com/
|
|
523
|
+
- [#400](https://github.com/ruby-shoryuken/shoryuken/pull/400)
|
|
355
524
|
|
|
356
525
|
## [v3.1.1] - 2017-07-05
|
|
357
526
|
|
|
358
527
|
- Reduce log verbosity introduced in 3.1.0
|
|
359
528
|
|
|
360
|
-
- [#397](https://github.com/
|
|
529
|
+
- [#397](https://github.com/ruby-shoryuken/shoryuken/pull/397)
|
|
361
530
|
|
|
362
531
|
- Try to prevent stack level too deep on Ubuntu
|
|
363
|
-
- [#396](https://github.com/
|
|
532
|
+
- [#396](https://github.com/ruby-shoryuken/shoryuken/pull/396)
|
|
364
533
|
|
|
365
534
|
## [v3.1.0] - 2017-07-02
|
|
366
535
|
|
|
367
536
|
- Add shoryuken sqs delete command
|
|
368
537
|
|
|
369
|
-
- [#395](https://github.com/
|
|
538
|
+
- [#395](https://github.com/ruby-shoryuken/shoryuken/pull/395)
|
|
370
539
|
|
|
371
540
|
- Add processing groups support; Concurrency per queue support
|
|
372
541
|
|
|
373
|
-
- [#389](https://github.com/
|
|
542
|
+
- [#389](https://github.com/ruby-shoryuken/shoryuken/pull/389)
|
|
374
543
|
|
|
375
544
|
- Terminate Shoryuken if the fetcher crashes
|
|
376
|
-
- [#389](https://github.com/
|
|
545
|
+
- [#389](https://github.com/ruby-shoryuken/shoryuken/pull/389)
|
|
377
546
|
|
|
378
547
|
## [v3.0.11] - 2017-06-24
|
|
379
548
|
|
|
380
549
|
- Add shoryuken sqs create command
|
|
381
|
-
- [#388](https://github.com/
|
|
550
|
+
- [#388](https://github.com/ruby-shoryuken/shoryuken/pull/388)
|
|
382
551
|
|
|
383
552
|
## [v3.0.10] - 2017-06-24
|
|
384
553
|
|
|
385
554
|
- Allow aws sdk v3
|
|
386
555
|
|
|
387
|
-
- [#381](https://github.com/
|
|
556
|
+
- [#381](https://github.com/ruby-shoryuken/shoryuken/pull/381)
|
|
388
557
|
|
|
389
558
|
- Allow configuring Rails via the config file
|
|
390
|
-
- [#387](https://github.com/
|
|
559
|
+
- [#387](https://github.com/ruby-shoryuken/shoryuken/pull/387)
|
|
391
560
|
|
|
392
561
|
## [v3.0.9] - 2017-06-05
|
|
393
562
|
|
|
394
563
|
- Allow configuring queue URLs instead of names
|
|
395
|
-
- [#378](https://github.com/
|
|
564
|
+
- [#378](https://github.com/ruby-shoryuken/shoryuken/pull/378)
|
|
396
565
|
|
|
397
566
|
## [v3.0.8] - 2017-06-02
|
|
398
567
|
|
|
399
568
|
- Fix miss handling empty batch fetches
|
|
400
569
|
|
|
401
|
-
- [#376](https://github.com/
|
|
570
|
+
- [#376](https://github.com/ruby-shoryuken/shoryuken/pull/376)
|
|
402
571
|
|
|
403
572
|
- Various minor styling changes :lipstick:
|
|
404
573
|
|
|
405
|
-
- [#373](https://github.com/
|
|
574
|
+
- [#373](https://github.com/ruby-shoryuken/shoryuken/pull/373)
|
|
406
575
|
|
|
407
576
|
- Logout when batch delete returns any failure
|
|
408
|
-
- [#371](https://github.com/
|
|
577
|
+
- [#371](https://github.com/ruby-shoryuken/shoryuken/pull/371)
|
|
409
578
|
|
|
410
579
|
## [v3.0.7] - 2017-05-18
|
|
411
580
|
|
|
412
581
|
- Trigger events for dispatch
|
|
413
582
|
|
|
414
|
-
- [#362](https://github.com/
|
|
583
|
+
- [#362](https://github.com/ruby-shoryuken/shoryuken/pull/362)
|
|
415
584
|
|
|
416
585
|
- Log (warn) exponential backoff tries
|
|
417
586
|
|
|
418
|
-
- [#365](https://github.com/
|
|
587
|
+
- [#365](https://github.com/ruby-shoryuken/shoryuken/pull/365)
|
|
419
588
|
|
|
420
589
|
- Fix displaying of long queue names in `shoryuken sqs ls`
|
|
421
|
-
- [#366](https://github.com/
|
|
590
|
+
- [#366](https://github.com/ruby-shoryuken/shoryuken/pull/366)
|
|
422
591
|
|
|
423
592
|
## [v3.0.6] - 2017-04-11
|
|
424
593
|
|
|
425
594
|
- Fix delay option type
|
|
426
|
-
- [#356](https://github.com/
|
|
595
|
+
- [#356](https://github.com/ruby-shoryuken/shoryuken/pull/356)
|
|
427
596
|
|
|
428
597
|
## [v3.0.5] - 2017-04-09
|
|
429
598
|
|
|
430
599
|
- Pause endless dispatcher to avoid CPU overload
|
|
431
600
|
|
|
432
|
-
- [#354](https://github.com/
|
|
601
|
+
- [#354](https://github.com/ruby-shoryuken/shoryuken/pull/354)
|
|
433
602
|
|
|
434
603
|
- Auto log processor errors
|
|
435
604
|
|
|
436
|
-
- [#355](https://github.com/
|
|
605
|
+
- [#355](https://github.com/ruby-shoryuken/shoryuken/pull/355)
|
|
437
606
|
|
|
438
607
|
- Add a delay as a CLI param
|
|
439
608
|
|
|
440
|
-
- [#350](https://github.com/
|
|
609
|
+
- [#350](https://github.com/ruby-shoryuken/shoryuken/pull/350)
|
|
441
610
|
|
|
442
611
|
- Add `sqs purge` command. See https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_PurgeQueue.html
|
|
443
|
-
- [#344](https://github.com/
|
|
612
|
+
- [#344](https://github.com/ruby-shoryuken/shoryuken/pull/344)
|
|
444
613
|
|
|
445
614
|
## [v3.0.4] - 2017-03-24
|
|
446
615
|
|
|
447
616
|
- Add `sqs purge` command. See https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_PurgeQueue.html
|
|
448
617
|
|
|
449
|
-
- [#344](https://github.com/
|
|
618
|
+
- [#344](https://github.com/ruby-shoryuken/shoryuken/pull/344)
|
|
450
619
|
|
|
451
620
|
- Fix "Thread exhaustion" error. This issue was most noticed when using long polling. @waynerobinson :beers: for pairing up on this.
|
|
452
|
-
- [#345](https://github.com/
|
|
621
|
+
- [#345](https://github.com/ruby-shoryuken/shoryuken/pull/345)
|
|
453
622
|
|
|
454
623
|
## [v3.0.3] - 2017-03-19
|
|
455
624
|
|
|
456
625
|
- Update `sqs` CLI commands to use `get_queue_url` when appropriated
|
|
457
|
-
- [#341](https://github.com/
|
|
626
|
+
- [#341](https://github.com/ruby-shoryuken/shoryuken/pull/341)
|
|
458
627
|
|
|
459
628
|
## [v3.0.2] - 2017-03-19
|
|
460
629
|
|
|
461
630
|
- Fix custom SQS client initialization
|
|
462
|
-
- [#335](https://github.com/
|
|
631
|
+
- [#335](https://github.com/ruby-shoryuken/shoryuken/pull/335)
|
|
463
632
|
|
|
464
633
|
## [v3.0.1] - 2017-03-13
|
|
465
634
|
|
|
466
635
|
- Fix commands sqs mv and dump `options.delete` checker
|
|
467
|
-
- [#332](https://github.com/
|
|
636
|
+
- [#332](https://github.com/ruby-shoryuken/shoryuken/pull/332)
|
|
468
637
|
|
|
469
638
|
## [v3.0.0] - 2017-03-12
|
|
470
639
|
|
|
471
640
|
- Replace Celluloid with Concurrent Ruby
|
|
472
641
|
|
|
473
|
-
- [#291](https://github.com/
|
|
642
|
+
- [#291](https://github.com/ruby-shoryuken/shoryuken/pull/291)
|
|
474
643
|
|
|
475
|
-
- Remove AWS configuration from Shoryuken. Now AWS should be configured from outside. Check [this](https://github.com/
|
|
644
|
+
- Remove AWS configuration from Shoryuken. Now AWS should be configured from outside. Check [this](https://github.com/ruby-shoryuken/shoryuken/wiki/Configure-the-AWS-Client) for more details
|
|
476
645
|
|
|
477
|
-
- [#317](https://github.com/
|
|
646
|
+
- [#317](https://github.com/ruby-shoryuken/shoryuken/pull/317)
|
|
478
647
|
|
|
479
648
|
- Remove deprecation warnings
|
|
480
649
|
|
|
481
|
-
- [#326](https://github.com/
|
|
650
|
+
- [#326](https://github.com/ruby-shoryuken/shoryuken/pull/326)
|
|
482
651
|
|
|
483
652
|
- Allow dynamic adding queues
|
|
484
653
|
|
|
485
|
-
- [#322](https://github.com/
|
|
654
|
+
- [#322](https://github.com/ruby-shoryuken/shoryuken/pull/322)
|
|
486
655
|
|
|
487
656
|
- Support retry_intervals passed in as a lambda. Auto coerce intervals into integer
|
|
488
657
|
|
|
489
|
-
- [#329](https://github.com/
|
|
658
|
+
- [#329](https://github.com/ruby-shoryuken/shoryuken/pull/329)
|
|
490
659
|
|
|
491
660
|
- Add SQS commands `shoryuken help sqs`, such as `ls`, `mv`, `dump` and `requeue`
|
|
492
|
-
- [#330](https://github.com/
|
|
661
|
+
- [#330](https://github.com/ruby-shoryuken/shoryuken/pull/330)
|
|
493
662
|
|
|
494
663
|
## [v2.1.3] - 2017-01-27
|
|
495
664
|
|
|
496
665
|
- Show a warn message when batch isn't supported
|
|
497
666
|
|
|
498
|
-
- [#302](https://github.com/
|
|
667
|
+
- [#302](https://github.com/ruby-shoryuken/shoryuken/pull/302)
|
|
499
668
|
|
|
500
669
|
- Require Celluloid ~> 17
|
|
501
670
|
|
|
502
|
-
- [#305](https://github.com/
|
|
671
|
+
- [#305](https://github.com/ruby-shoryuken/shoryuken/pull/305)
|
|
503
672
|
|
|
504
673
|
- Fix excessive logging when 0 messages found
|
|
505
|
-
- [#307](https://github.com/
|
|
674
|
+
- [#307](https://github.com/ruby-shoryuken/shoryuken/pull/307)
|
|
506
675
|
|
|
507
676
|
## [v2.1.2] - 2016-12-22
|
|
508
677
|
|
|
509
678
|
- Fix loading `logfile` from shoryuken.yml
|
|
510
679
|
|
|
511
|
-
- [#296](https://github.com/
|
|
680
|
+
- [#296](https://github.com/ruby-shoryuken/shoryuken/pull/296)
|
|
512
681
|
|
|
513
682
|
- Add support for Strict priority polling (pending documentation)
|
|
514
683
|
|
|
515
|
-
- [#288](https://github.com/
|
|
684
|
+
- [#288](https://github.com/ruby-shoryuken/shoryuken/pull/288)
|
|
516
685
|
|
|
517
686
|
- Add `test_workers` for end-to-end testing supporting
|
|
518
687
|
|
|
519
|
-
- [#286](https://github.com/
|
|
688
|
+
- [#286](https://github.com/ruby-shoryuken/shoryuken/pull/286)
|
|
520
689
|
|
|
521
690
|
- Update README documenting `configure_client` and `configure_server`
|
|
522
691
|
|
|
523
|
-
- [#283](https://github.com/
|
|
692
|
+
- [#283](https://github.com/ruby-shoryuken/shoryuken/pull/283)
|
|
524
693
|
|
|
525
694
|
- Fix memory leak caused by async tracking busy threads
|
|
526
695
|
|
|
527
|
-
- [#289](https://github.com/
|
|
696
|
+
- [#289](https://github.com/ruby-shoryuken/shoryuken/pull/289)
|
|
528
697
|
|
|
529
698
|
- Refactor fetcher, polling strategy and manager
|
|
530
|
-
- [#284](https://github.com/
|
|
699
|
+
- [#284](https://github.com/ruby-shoryuken/shoryuken/pull/284)
|
|
531
700
|
|
|
532
701
|
## [v2.1.1] - 2016-12-05
|
|
533
702
|
|
|
534
703
|
- Fix aws deprecation warning message
|
|
535
|
-
- [#279](https://github.com/
|
|
704
|
+
- [#279](https://github.com/ruby-shoryuken/shoryuken/pull/279)
|
|
536
705
|
|
|
537
706
|
## [v2.1.0] - 2016-12-03
|
|
538
707
|
|
|
539
708
|
- Fix celluloid "running in BACKPORTED mode" warning
|
|
540
709
|
|
|
541
|
-
- [#260](https://github.com/
|
|
710
|
+
- [#260](https://github.com/ruby-shoryuken/shoryuken/pull/260)
|
|
542
711
|
|
|
543
712
|
- Allow setting the aws configuration in 'Shoryuken.configure_server'
|
|
544
713
|
|
|
545
|
-
- [#252](https://github.com/
|
|
714
|
+
- [#252](https://github.com/ruby-shoryuken/shoryuken/pull/252)
|
|
546
715
|
|
|
547
716
|
- Allow requiring a file or dir a through `-r`
|
|
548
717
|
|
|
549
|
-
- [#248](https://github.com/
|
|
718
|
+
- [#248](https://github.com/ruby-shoryuken/shoryuken/pull/248)
|
|
550
719
|
|
|
551
720
|
- Reduce info log verbosity
|
|
552
721
|
|
|
553
|
-
- [#243](https://github.com/
|
|
722
|
+
- [#243](https://github.com/ruby-shoryuken/shoryuken/pull/243)
|
|
554
723
|
|
|
555
724
|
- Fix auto extender when using ActiveJob
|
|
556
725
|
|
|
557
|
-
- [#3213](https://github.com/
|
|
726
|
+
- [#3213](https://github.com/ruby-shoryuken/shoryuken/pull/213)
|
|
558
727
|
|
|
559
728
|
- Add FIFO queue support
|
|
560
729
|
|
|
561
|
-
- [#272](https://github.com/
|
|
730
|
+
- [#272](https://github.com/ruby-shoryuken/shoryuken/issues/272)
|
|
562
731
|
|
|
563
732
|
- Deprecates initialize_aws
|
|
564
733
|
|
|
565
|
-
- [#269](https://github.com/
|
|
734
|
+
- [#269](https://github.com/ruby-shoryuken/shoryuken/pull/269)
|
|
566
735
|
|
|
567
|
-
- [Other miscellaneous updates](https://github.com/
|
|
736
|
+
- [Other miscellaneous updates](https://github.com/ruby-shoryuken/shoryuken/compare/v2.0.11...v2.1.0)
|
|
568
737
|
|
|
569
738
|
## [v2.0.11] - 2016-07-02
|
|
570
739
|
|
|
571
740
|
- Same as 2.0.10. Unfortunately 2.0.10 was removed `yanked` by mistake from RubyGems.
|
|
572
|
-
- [#b255bc3](https://github.com/
|
|
741
|
+
- [#b255bc3](https://github.com/ruby-shoryuken/shoryuken/commit/b255bc3)
|
|
573
742
|
|
|
574
743
|
## [v2.0.10] - 2016-06-09
|
|
575
744
|
|
|
576
745
|
- Fix manager #225
|
|
577
|
-
- [#226](https://github.com/
|
|
746
|
+
- [#226](https://github.com/ruby-shoryuken/shoryuken/pull/226)
|
|
578
747
|
|
|
579
748
|
## [v2.0.9] - 2016-06-08
|
|
580
749
|
|
|
581
750
|
- Fix daemonization broken in #219
|
|
582
|
-
- [#224](https://github.com/
|
|
751
|
+
- [#224](https://github.com/ruby-shoryuken/shoryuken/pull/224)
|
|
583
752
|
|
|
584
753
|
## [v2.0.8] - 2016-06-07
|
|
585
754
|
|
|
586
755
|
- Fix daemonization
|
|
587
|
-
- [#223](https://github.com/
|
|
756
|
+
- [#223](https://github.com/ruby-shoryuken/shoryuken/pull/223)
|
|
588
757
|
|
|
589
758
|
## [v2.0.7] - 2016-06-06
|
|
590
759
|
|
|
591
760
|
- Daemonize before loading environment
|
|
592
761
|
|
|
593
|
-
- [#219](https://github.com/
|
|
762
|
+
- [#219](https://github.com/ruby-shoryuken/shoryuken/pull/219)
|
|
594
763
|
|
|
595
764
|
- Fix initialization when using rails
|
|
596
765
|
|
|
597
|
-
- [#197](https://github.com/
|
|
766
|
+
- [#197](https://github.com/ruby-shoryuken/shoryuken/pull/197)
|
|
598
767
|
|
|
599
768
|
- Improve message fetching
|
|
600
769
|
|
|
601
|
-
- [#214](https://github.com/
|
|
602
|
-
- [#f4640d9](https://github.com/
|
|
770
|
+
- [#214](https://github.com/ruby-shoryuken/shoryuken/pull/214)
|
|
771
|
+
- [#f4640d9](https://github.com/ruby-shoryuken/shoryuken/commit/f4640d9)
|
|
603
772
|
|
|
604
773
|
- Fix hard shutdown if there are some busy workers when signal received
|
|
605
774
|
|
|
606
|
-
- [#215](https://github.com/
|
|
775
|
+
- [#215](https://github.com/ruby-shoryuken/shoryuken/pull/215)
|
|
607
776
|
|
|
608
777
|
- Fix `rake console` task
|
|
609
778
|
|
|
610
|
-
- [#208](https://github.com/
|
|
779
|
+
- [#208](https://github.com/ruby-shoryuken/shoryuken/pull/208)
|
|
611
780
|
|
|
612
781
|
- Isolate `MessageVisibilityExtender` as new middleware
|
|
613
782
|
|
|
614
|
-
- [#199](https://github.com/
|
|
783
|
+
- [#199](https://github.com/ruby-shoryuken/shoryuken/pull/190)
|
|
615
784
|
|
|
616
785
|
- Fail on non-existent queues
|
|
617
|
-
- [#196](https://github.com/
|
|
786
|
+
- [#196](https://github.com/ruby-shoryuken/shoryuken/pull/196)
|
|
618
787
|
|
|
619
788
|
## [v2.0.6] - 2016-04-18
|
|
620
789
|
|
|
621
790
|
- Fix log initialization introduced by #191
|
|
622
|
-
- [#195](https://github.com/
|
|
791
|
+
- [#195](https://github.com/ruby-shoryuken/shoryuken/pull/195)
|
|
623
792
|
|
|
624
793
|
## [v2.0.5] - 2016-04-17
|
|
625
794
|
|
|
626
795
|
- Fix log initialization when using `Shoryuken::EnvironmentLoader#load`
|
|
627
796
|
|
|
628
|
-
- [#191](https://github.com/
|
|
797
|
+
- [#191](https://github.com/ruby-shoryuken/shoryuken/pull/191)
|
|
629
798
|
|
|
630
799
|
- Fix `enqueue_at` in the ActiveJob Adapter
|
|
631
|
-
- [#182](https://github.com/
|
|
800
|
+
- [#182](https://github.com/ruby-shoryuken/shoryuken/pull/182)
|
|
632
801
|
|
|
633
802
|
## [v2.0.4] - 2016-02-04
|
|
634
803
|
|
|
635
804
|
- Add Rails 3 support
|
|
636
805
|
|
|
637
|
-
- [#175](https://github.com/
|
|
806
|
+
- [#175](https://github.com/ruby-shoryuken/shoryuken/pull/175)
|
|
638
807
|
|
|
639
808
|
- Allow symbol as a queue name in shoryuken_options
|
|
640
809
|
|
|
641
|
-
- [#177](https://github.com/
|
|
810
|
+
- [#177](https://github.com/ruby-shoryuken/shoryuken/pull/177)
|
|
642
811
|
|
|
643
812
|
- Make sure bundler is always updated on Travis CI
|
|
644
813
|
|
|
645
|
-
- [#176](https://github.com/
|
|
814
|
+
- [#176](https://github.com/ruby-shoryuken/shoryuken/pull/176)
|
|
646
815
|
|
|
647
816
|
- Add Rails 5 compatibility
|
|
648
|
-
- [#174](https://github.com/
|
|
817
|
+
- [#174](https://github.com/ruby-shoryuken/shoryuken/pull/174)
|
|
649
818
|
|
|
650
819
|
## [v2.0.3] - 2015-12-30
|
|
651
820
|
|
|
652
821
|
- Allow multiple queues per worker
|
|
653
822
|
|
|
654
|
-
- [#164](https://github.com/
|
|
823
|
+
- [#164](https://github.com/ruby-shoryuken/shoryuken/pull/164)
|
|
655
824
|
|
|
656
825
|
- Fix typo
|
|
657
|
-
- [#166](https://github.com/
|
|
826
|
+
- [#166](https://github.com/ruby-shoryuken/shoryuken/pull/166)
|
|
658
827
|
|
|
659
828
|
## [v2.0.2] - 2015-10-27
|
|
660
829
|
|
|
661
830
|
- Fix warnings that are triggered in some cases with the raise_error matcher
|
|
662
831
|
|
|
663
|
-
- [#144](https://github.com/
|
|
832
|
+
- [#144](https://github.com/ruby-shoryuken/shoryuken/pull/144)
|
|
664
833
|
|
|
665
834
|
- Add lifecycle event registration support
|
|
666
835
|
|
|
667
|
-
- [#141](https://github.com/
|
|
836
|
+
- [#141](https://github.com/ruby-shoryuken/shoryuken/pull/141)
|
|
668
837
|
|
|
669
838
|
- Allow passing array of messages to send_messages
|
|
670
839
|
|
|
671
|
-
- [#140](https://github.com/
|
|
840
|
+
- [#140](https://github.com/ruby-shoryuken/shoryuken/pull/140)
|
|
672
841
|
|
|
673
842
|
- Fix Active Job queue prefixing in Rails apps
|
|
674
843
|
|
|
675
|
-
- [#139](https://github.com/
|
|
844
|
+
- [#139](https://github.com/ruby-shoryuken/shoryuken/pull/139)
|
|
676
845
|
|
|
677
846
|
- Enable override the default queue with a :queue option
|
|
678
|
-
- [#147](https://github.com/
|
|
847
|
+
- [#147](https://github.com/ruby-shoryuken/shoryuken/pull/147)
|
|
679
848
|
|
|
680
849
|
## [v2.0.1] - 2015-10-09
|
|
681
850
|
|
|
682
851
|
- Bump aws-sdk to ~> 2
|
|
683
|
-
- [#138](https://github.com/
|
|
852
|
+
- [#138](https://github.com/ruby-shoryuken/shoryuken/pull/138)
|
|
684
853
|
|
|
685
854
|
## [v2.0.0] - 2015-09-22
|
|
686
855
|
|
|
687
856
|
- Allow configuration of SQS/SNS endpoints via environment variables
|
|
688
857
|
|
|
689
|
-
- [#130](https://github.com/
|
|
858
|
+
- [#130](https://github.com/ruby-shoryuken/shoryuken/pull/130)
|
|
690
859
|
|
|
691
860
|
- Expose queue_name in the message object
|
|
692
861
|
|
|
693
|
-
- [#127](https://github.com/
|
|
862
|
+
- [#127](https://github.com/ruby-shoryuken/shoryuken/pull/127)
|
|
694
863
|
|
|
695
864
|
- README updates
|
|
696
|
-
- [#122](https://github.com/
|
|
697
|
-
- [#120](https://github.com/
|
|
865
|
+
- [#122](https://github.com/ruby-shoryuken/shoryuken/pull/122)
|
|
866
|
+
- [#120](https://github.com/ruby-shoryuken/shoryuken/pull/120)
|