get_all_metadata/
get-all-metadata.rs

1//! # Build the debug version
2//!
3//! ```bash
4//! cargo build --example get-all-metadata && export RUST_BACKTRACE=1 && export RUST_LOG=info,kafka_threadpool=info && ./target/debug/examples/get-all-metadata
5//! ```
6//!
7extern crate pretty_env_logger;
8#[macro_use]
9extern crate log;
10
11use kafka_threadpool::start_threadpool::start_threadpool;
12
13/// main
14///
15/// Get all metadata for all brokers, topics and partitions
16///
17#[tokio::main]
18async fn main() {
19    pretty_env_logger::init_timed();
20    let label = "get-all-metadata";
21    let kafka_publisher = start_threadpool(Some(label)).await;
22
23    info!(
24        "{label} \
25        config={} \
26        getting all metadata",
27        kafka_publisher.config
28    );
29
30    kafka_publisher.get_metadata(true, None).await;
31
32    info!("shutting down");
33    // send shutdown message to all worker threads in the pool
34    match kafka_publisher.shutdown().await {
35        Ok(msg) => trace!("{msg}"),
36        Err(err_msg) => {
37            error!("publisher shutdown failed with err='{err_msg}'")
38        }
39    }
40}