Enum nakadion::consumer::complex_types::DispatchMode [−][src]
#[non_exhaustive]
pub enum DispatchMode {
AllSeq,
EventTypePar,
EventTypePartitionPar,
}
Expand description
Defines how to dispatch batches to handlers.
The default is DispatchMode::AllSeq
FromStr
use nakadion::consumer::DispatchMode;
let strategy = "all_seq".parse::<DispatchMode>().unwrap();
assert_eq!(strategy, DispatchMode::AllSeq);
let strategy = "event_type_par".parse::<DispatchMode>().unwrap();
assert_eq!(strategy, DispatchMode::EventTypePar);
let strategy = "event_type_partition_par".parse::<DispatchMode>().unwrap();
assert_eq!(strategy, DispatchMode::EventTypePartitionPar);
JSON is also valid:
use nakadion::consumer::DispatchMode;
let strategy = "\"all_seq\"".parse::<DispatchMode>().unwrap();
assert_eq!(strategy, DispatchMode::AllSeq);
let strategy = "\"event_type_par\"".parse::<DispatchMode>().unwrap();
assert_eq!(strategy, DispatchMode::EventTypePar);
let strategy = "\"event_type_partition_par\"".parse::<DispatchMode>().unwrap();
assert_eq!(strategy, DispatchMode::EventTypePartitionPar);
Environment variables
Fetching values from the environment uses FromStr
for parsing.
Variants (Non-exhaustive)
This enum is marked as non-exhaustive
Dispatch all batches to a single worker(handler)
This means batches all are processed sequentially by a single handler.
This will always request a handler with HandlerAssignment::Unspecified
from the BatchHandlerFactory
.
This means that if multiple event types are consumed, the handler is responsible
for determining the event type to be processed from BatchMeta
.
It is suggested to not use this strategy if multiple event types are expected.
Dispatch all batches to a dedicated worker for an event type.
This means batches are processed sequentially for each event type but the maximum parallelism is the number of event types.
This will always request a handler with HandlerAssignment::EventType(EventTypeName)
from the BatchHandlerFactory
.
This is the default DispatchMode
.
Dispatch all batches to a dedicated worker for an partition on each event type.
This means batches are processed sequentially for each individual partition of an event type. The maximum parallelism is the sum of each event type multiplied by its number of partitions.
This will always request a handler with
HandlerAssignment::EventTypePartition(EventTypePartitionName)
from the BatchHandlerFactory
.
Implementations
The default name of the environment variable for this type. The name of the environment variable is “ DISPATCH_MODE “
Initialize from the environment.
Returns None
if the value was not found and fails if the value could not be parsed.
The name of the environment variable is “NAKADION_
DISPATCH_MODE
“
Initialize from the environment.
Returns None
if the value was not found and fails if the value could not be parsed.
The name of the environment variable is “prefix
_
DISPATCH_MODE
“
The underscore and prefix will be omitted if prefix is empty.
Initialize from the environment.
Returns None
if the value was not found and fails if the value could not be parsed.
The name of the environment variable is var_name
.
Initialize from the environment.
Returns None
if the value was not found and fails if the value could not be parsed.
The name of the environment variable is “
DISPATCH_MODE
“
Initialize from the environment. Fails if the value was not found or if the value could not be parsed. The name of the environment variable is “NAKADION_ DISPATCH_MODE “
Initialize from the environment.
Fails if the value was not found or if the value could not be parsed.
The name of the environment variable is “prefix
_
DISPATCH_MODE
“
The underscore and prefix will be omitted if prefix is empty.
Initialize from the environment.
Fails if the value was not found or if the value could not be parsed.
The name of the environment variable is var_name
.
Initialize from the environment. Fails if the value was not found or if the value could not be parsed. The name of the environment variable is “ DISPATCH_MODE “
Initialize from the environment.
Returns None
if the value could not be read for any reason.
The name of the environment variable is “NAKADION_
DISPATCH_MODE
“
Initialize from the environment.
Returns None
if the value could not be read for any reason.
The name of the environment variable is “prefix
_
DISPATCH_MODE
“
The underscore and prefix will be omitted if prefix is empty.
Initialize from the environment.
Returns None
if the value could not be read for any reason.
The name of the environment variable is var_name
.
Initialize from the environment.
Returns None
if the value could not be read for any reason.
The name of the environment variable is “
DISPATCH_MODE
“
Trait Implementations
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations
impl RefUnwindSafe for DispatchMode
impl Send for DispatchMode
impl Sync for DispatchMode
impl Unpin for DispatchMode
impl UnwindSafe for DispatchMode
Blanket Implementations
Mutably borrows from an owned value. Read more
Compare self to key
and return true
if they are equal.
pub fn vzip(self) -> V
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more