diff options
Diffstat (limited to 'crates/configuration/src/server/reload_stream.rs')
-rw-r--r-- | crates/configuration/src/server/reload_stream.rs | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/crates/configuration/src/server/reload_stream.rs b/crates/configuration/src/server/reload_stream.rs new file mode 100644 index 0000000..d2ee4ab --- /dev/null +++ b/crates/configuration/src/server/reload_stream.rs @@ -0,0 +1,21 @@ +use async_nats::jetstream::Context; +use tracing::{debug, info}; + +use crate::cnfg::JetstreamConfig; + +pub async fn create_stream(jetstream: &Context, config: &JetstreamConfig) -> anyhow::Result<()> { + debug!(name = ?config.stream, "initialising stream"); + + jetstream + .get_or_create_stream(async_nats::jetstream::stream::Config { + name: config.stream.to_string(), + max_messages: config.max_messages, + subjects: vec![config.subject.to_string()], + ..Default::default() + }) + .await?; + + info!(name = ?config.stream, subject = ?config.subject, "stream is ready"); + + Ok(()) +} |