diff --git a/Cargo.lock b/Cargo.lock index 6da4d48..11de4c5 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3240,7 +3240,7 @@ checksum = "0c790de23124f9ab44544d7ac05d60440adc586479ce501c1d6d7da3cd8c9cf5" [[package]] name = "slingshot-microservice" -version = "0.1.0" +version = "0.1.7" dependencies = [ "anyhow", "aws-config", diff --git a/Cargo.toml b/Cargo.toml index 12c9c76..1b6296c 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "slingshot-microservice" -version = "0.1.0" +version = "0.1.7" edition = "2021" description = "Opinionated Rust framework for queue-driven microservices" license = "MIT" diff --git a/pyproject.toml b/pyproject.toml index 01fdf20..9244cc8 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "maturin" [project] name = "slingshot-microservice" -version = "0.1.6" +version = "0.1.7" description = "Opinionated Rust framework for queue-driven microservices" license = { text = "MIT" } requires-python = ">=3.8" diff --git a/src/lib.rs b/src/lib.rs index 3390b6d..0a97703 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -20,6 +20,7 @@ use diesel::PgConnection; use futures_util::StreamExt; use lapin::options::{ BasicAckOptions, BasicConsumeOptions, BasicNackOptions, BasicPublishOptions, + BasicQosOptions, QueueDeclareOptions, }; use tracing::{error, info}; @@ -274,6 +275,11 @@ impl Microservice { .await .map_err(|e| format!("startup publish failed: {}", e))?; + channel + .basic_qos(1, BasicQosOptions::default()) + .await + .map_err(|e| format!("failed to set RabbitMQ consumer prefetch to 1: {}", e))?; + let mut consumer = channel .basic_consume( &inbound_queue,