fix: relay shutdown, claim lease, dead-letter undecodable, dedup window
This commit is contained in:
@@ -106,6 +106,12 @@ fn consume_from_rx(rx: EnvelopeRx) -> BoxStream<'static, Result<EventEnvelope, D
|
||||
}))
|
||||
}
|
||||
|
||||
/// How long JetStream remembers `Nats-Msg-Id`s. A row re-relayed within this
|
||||
/// window (crash between publish and mark-done, or a lease reclaim) is dropped
|
||||
/// by the broker; beyond it the consumer ledger is the backstop. Set
|
||||
/// explicitly so it does not silently follow the server default.
|
||||
const DEDUP_WINDOW: std::time::Duration = std::time::Duration::from_secs(60 * 60);
|
||||
|
||||
// ── JetStream consumer ────────────────────────────────────────────────────────
|
||||
|
||||
pub struct NatsJetStreamConsumer {
|
||||
@@ -121,6 +127,7 @@ impl NatsJetStreamConsumer {
|
||||
name: cfg.stream_name.clone(),
|
||||
subjects: vec![consumer_subject_filter(&cfg.subject_prefix)],
|
||||
max_messages: 100_000,
|
||||
duplicate_window: DEDUP_WINDOW,
|
||||
..Default::default()
|
||||
})
|
||||
.await?;
|
||||
|
||||
Reference in New Issue
Block a user