-
Add GitHub Codespaces
-
Fix spec for ruby 3.0
-
Upgrade test matrix. Add Ruby 3.1, Ruby 3.2 and Rails 7
-
Fire stopped event after executor is stopped
-
Allow setup custom exception handlers for failing jobs
-
Configure dependabot to update GH Actions
-
Stop the dispatching of new messages when a SIGTERM signal has been received
- Breaking changes: Initialize Rails before parsing config file
- #686
- 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 usingdotenv
). 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.
-
(Bugfix) Preserve queue weights when unpausing queues
-
Improve error message on startup when shoryuken has insufficient permissions to access a queue
- (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
-
(Refactor) Use Forwardable within Message to avoid method boilerplate
-
Add basic health check API
- Fire new
:utilization_update
event any time a worker pool's utilization changes
- When using ActiveJob queue name prefixing, avoid applying prefix to queues configured with a URL or ARN
-
Reduce message batch sizes in
shoryuken sqs requeue
andshoryuken sqs mv
commands -
Fix bug in
shoryuken sqs requeue
andshoryuken sqs mv
where those commands would exceed the SQSSendMessageBatch
maximum payload size -
Remove test stub for
Concurrent.global_io_executor
-
Run integration tests on CI
- Set
executions
correctly for ActiveJob jobs
- 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
-
Add support for specifying SQS SendMessage parameters with ActiveJob
.set
-
Unpause FIFO queues on worker completion
-
Add multiple versions of Rails to test matrix
-
Migrate from Travis CI to Github Actions
- Load ShoryukenConcurrentSendAdapter when loading Rails
- Add ability to configure queue by ARN
- Add endpoint option to SQS CLI
- Add support for sending messages asynchronous with Active Job using
shoryuken_concurrent_send
- Fix Queue order is reversed if passed through CLI
- Add back attr_accessor for
stop_callback
-
Fix bug where empty queues were not paused in batch processing mode
-
Preserve batch limit when receiving messages from a FIFO queue
-
Replace static options with instance options
- Support delay per processing group
-
Fix the delegated methods to public warning
-
Specify exception class to
raise_error
matcher warning -
Fix spelling of "visibility"
- Process messages to the same message group ID one by one
- Memoization of boolean causes extra calls to SQS
-
Add support for TSTP
-
Support an empty list of queues as a CLI argument
-
Add batch support for inline workers
-
Make InlineExecutor to behave as the DefaultExecutor when calling perform_in
-
Don't force eager load for Rails 5
-
Allow Batch Size to be Specified for Requeue
-
Support FIFO queues in
shoryuken sqs
commands
- Fix requeue' for FIFO queues
-
Support FIFO queues in
shoryuken sqs
commands -
Allow customizing the default executor launcher
-
Exclude job_id from message deduplication when ActiveJob
-
Preserve parent worker class options
-
Add -t (shutdown timeout) option to CL
-
Support inline (Active Job like) for standard workers
- Reduce fetch log verbosity
- Auto retry (up to 3 times) fetch errors
- Make Shoryuken compatible with AWS SDK 3 and 2
-
Add support for adding a middleware to the front of chain
-
Add support for dispatch fire event
- Make Polling strategy backward compatibility
-
Allow polling strategy per group
-
Add support for creating FIFO queues
-
Allow receive message options per queue
- Fix issue with dispatch_loop and delays
- Require forwardable allowding to call
shoryuken
withoutbundle exec
- Fix stack level too deep on Ubuntu
-
Add shoryuken sqs delete command
-
Add processing groups support; Concurrency per queue support
-
Terminate Shoryuken if the fetcher crashes
- Add shoryuken sqs create command
- Allow configuring queue URLs instead of names
-
Fix miss handling empty batch fetches
-
Various minor styling changes 💄
-
Logout when batch delete returns any failure
-
Trigger events for dispatch
-
Log (warn) exponential backoff tries
-
Fix displaying of long queue names in
shoryuken sqs ls
- Fix delay option type
-
Pause endless dispatcher to avoid CPU overload
-
Auto log processor errors
-
Add a delay as a CLI param
-
Add
sqs purge
command. See https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_PurgeQueue.html
-
Add
sqs purge
command. See https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_PurgeQueue.html -
Fix "Thread exhaustion" error. This issue was most noticed when using long polling. @waynerobinson 🍻 for pairing up on this.
- Update
sqs
CLI commands to useget_queue_url
when appropriated
- Fix custom SQS client initialization
- Fix commands sqs mv and dump
options.delete
checker
-
Replace Celluloid with Concurrent Ruby
-
Remove AWS configuration from Shoryuken. Now AWS should be configured from outside. Check this for more details
-
Remove deprecation warnings
-
Allow dynamic adding queues
-
Support retry_intervals passed in as a lambda. Auto coerce intervals into integer
-
Add SQS commands
shoryuken help sqs
, such asls
,mv
,dump
andrequeue
-
Show a warn message when batch isn't supported
-
Require Celluloid ~> 17
-
Fix excessive logging when 0 messages found
-
Fix loading
logfile
from shoryuken.yml -
Add support for Strict priority polling (pending documentation)
-
Add
test_workers
for end-to-end testing supporting -
Update README documenting
configure_client
andconfigure_server
-
Fix memory leak caused by async tracking busy threads
-
Refactor fetcher, polling strategy and manager
- Fix aws deprecation warning message
-
Fix celluloid "running in BACKPORTED mode" warning
-
Allow setting the aws configuration in 'Shoryuken.configure_server'
-
Allow requiring a file or dir a through
-r
-
Reduce info log verbosity
-
Fix auto extender when using ActiveJob
-
Add FIFO queue support
-
Deprecates initialize_aws
- Same as 2.0.10. Unfortunately 2.0.10 was removed
yanked
by mistake from RubyGems.
- Fix manager #225
- Fix daemonization broken in #219
- Fix daemonization
-
Daemonize before loading environment
-
Fix initialization when using rails
-
Improve message fetching
-
Fix hard shutdown if there are some busy workers when signal received
-
Fix
rake console
task -
Isolate
MessageVisibilityExtender
as new middleware -
Fail on non-existent queues
- Fix log initialization introduced by #191
- Fix log initialization when using
Shoryuken::EnvironmentLoader#load
-
Add Rails 3 support
-
Allow symbol as a queue name in shoryuken_options
-
Make sure bundler is always updated on Travis CI
-
Add Rails 5 compatibility
-
Fix warnings that are triggered in some cases with the raise_error matcher
-
Add lifecycle event registration support
-
Allow passing array of messages to send_messages
-
Fix Active Job queue prefixing in Rails apps
-
Enable override the default queue with a :queue option
- Bump aws-sdk to ~> 2