feat: env var to control rabbitmq event ingress
Signed-off-by: Zomatree <me@zomatree.live>
This commit is contained in:
@@ -56,39 +56,41 @@ async fn main() {
|
|||||||
|
|
||||||
set_rabbitmq_connection(rmq_conn.clone());
|
set_rabbitmq_connection(rmq_conn.clone());
|
||||||
|
|
||||||
let channel = rmq_conn
|
if std::env::var("ENABLE_RABBITMQ_INGRESS").as_deref().is_ok_and(|v| v == "1") {
|
||||||
.open_channel(None)
|
let channel = rmq_conn
|
||||||
.await
|
.open_channel(None)
|
||||||
.expect("Failed to open RabbitMQ channel.");
|
.await
|
||||||
|
.expect("Failed to open RabbitMQ channel.");
|
||||||
|
|
||||||
channel
|
channel
|
||||||
.exchange_declare(
|
.exchange_declare(
|
||||||
ExchangeDeclareArguments::new("events", "fanout")
|
ExchangeDeclareArguments::new("events", "fanout")
|
||||||
.durable(true)
|
.durable(true)
|
||||||
.finish(),
|
.finish(),
|
||||||
)
|
)
|
||||||
.await
|
.await
|
||||||
.expect("wires");
|
.expect("Failed to declare exchange");
|
||||||
|
|
||||||
channel
|
channel
|
||||||
.queue_declare(QueueDeclareArguments::new("events").durable(true).finish())
|
.queue_declare(QueueDeclareArguments::new("events").durable(true).finish())
|
||||||
.await
|
.await
|
||||||
.expect("wires 2");
|
.expect("Failed to declare queue");
|
||||||
|
|
||||||
channel
|
channel
|
||||||
.queue_bind(QueueBindArguments::new("events", "events", "events"))
|
.queue_bind(QueueBindArguments::new("events", "events", "events"))
|
||||||
.await
|
.await
|
||||||
.expect("wires 3");
|
.expect("Failed to bind queue");
|
||||||
|
|
||||||
channel
|
channel
|
||||||
.basic_consume(
|
.basic_consume(
|
||||||
RabbitToRedisConsumer,
|
RabbitToRedisConsumer,
|
||||||
BasicConsumeArguments::new("events", "")
|
BasicConsumeArguments::new("events", "")
|
||||||
.manual_ack(false)
|
.manual_ack(false)
|
||||||
.finish(),
|
.finish(),
|
||||||
)
|
)
|
||||||
.await
|
.await
|
||||||
.expect("wires 4");
|
.expect("Failed to consume channel");
|
||||||
|
}
|
||||||
|
|
||||||
// Start accepting new connections and spawn a client for each connection.
|
// Start accepting new connections and spawn a client for each connection.
|
||||||
while let Ok((stream, addr)) = listener.accept().await {
|
while let Ok((stream, addr)) = listener.accept().await {
|
||||||
|
|||||||
Reference in New Issue
Block a user