lib/waterdrop/config.rb in waterdrop-2.5.3 vs lib/waterdrop/config.rb in waterdrop-2.6.0
- old
+ new
@@ -54,18 +54,23 @@
# we raise an exception.
# When this is set to `true`, upon full queue, we won't raise an error. There will be error
# in the `error.occurred` notification pipeline with a proper type as while this is
# recoverable, in a high number it still may mean issues.
# Waiting is one of the recommended strategies.
- setting :wait_on_queue_full, default: false
+ setting :wait_on_queue_full, default: true
# option [Integer] how long (in seconds) should we backoff before a retry when queue is full
# The retry will happen with the same message and backoff should give us some time to
# dispatch previously buffered messages.
- setting :wait_on_queue_full_timeout, default: 0.1
+ setting :wait_backoff_on_queue_full, default: 0.1
+ # option [Numeric] how many seconds should we wait with the backoff on queue having space for
+ # more messages before re-raising the error.
+ setting :wait_timeout_on_queue_full, default: 10
# option [Boolean] should we send messages. Setting this to false can be really useful when
# testing and or developing because when set to false, won't actually ping Kafka but will
# run all the validations, etc
setting :deliver, default: true
+ # option [Class] class for usage when creating the underlying client used to dispatch messages
+ setting :client_class, default: Clients::Rdkafka
# rdkafka options
# @see https://github.com/edenhill/librdkafka/blob/master/CONFIGURATION.md
setting :kafka, default: {}
# Middleware chain that can be expanded with useful middleware steps
setting(