All notable changes to this project will be documented in this file.
- Add
ExponentialBackoffHandler
for handling errors in rabbit messages - Optional
queue_suffix
config for read queues
- Receiving
- Support for custom receiving job config which is placed in receiving event handler;
- Remove
sneakers
gem in favour of kicks
- Support for custom reciving handler via
Rabbit.config.handler_resolver_callable
config;
- Exception notifier is required
Sleep 1
for handling receiving error to prevent queue overflow["2.7", "3.0", "3.1", "3.2"]
are used for specs
ExceptionNotifier
replaced withSentry
Gemfile.lock
added
unless Sneakers.logger
was never executed
Rabbit.config.receiving_job_class_callable
now receives the full message context (withmessage
,delivery_info
andarguments
(see theRabbit::Receiving::Receive
));
- logging message headers
- configurable publish skipping (previous iteration just skipped in development)
- fix for receiving (delivery_info and args to hashes)
- fix for requiring receiving job
- channels pool for manage channels on Publisher connection
- Publisher use channels pool for access to channel
- class Rabbit::Recieving::Receive for message processing
- class Rabbit::Recieving::Queue for queue name determination when receiving
- message_id argument in published and received messages
- before and after hooks when processing message
- specs for new functionality
- arguments attribute in received message and handler (contain raw message arguments with exchange and routing_key from the delivery_info)
- Rabbit::Receiving::Worker refactoring (message processing moved to a separate class)
- ruby version upped to 2.5
- rubocop ruby target version set to 2.5
- some fixes of updated rubocop and ruby warnings
- heavy refactoring of old specs for receiving
- (Partially Fixed) Support for pre-defined logger injection on Sneakers moudle;
- Support for multiple customizable loggers;