diff --git a/src/main.rs b/src/main.rs index 12c1d81..248289a 100644 --- a/src/main.rs +++ b/src/main.rs @@ -7,7 +7,7 @@ use diesel_async::pooled_connection::deadpool::Pool; use error::Error; use objects::MailClient; use simple_logger::SimpleLogger; -use std::time::{Duration, SystemTime}; +use std::time::SystemTime; mod config; use config::{Config, ConfigBuilder}; use diesel_migrations::{EmbeddedMigrations, MigrationHarness, embed_migrations}; @@ -61,12 +61,7 @@ async fn main() -> Result<(), Error> { // create a new connection pool with the default config let pool_config = AsyncDieselConnectionManager::::new(config.database.url()); - // FIXME: Don't manually set max size and instead fix underlying connection issues - let pool = Pool::builder(pool_config) - .max_size(50) - //.wait_timeout(Some(Duration::from_secs(5))) - //.recycle_timeout(Some(Duration::from_secs(5))) - .build()?; + let pool = Pool::builder(pool_config).build()?; let cache_pool = redis::Client::open(config.cache_database.url())?; diff --git a/src/objects/member.rs b/src/objects/member.rs index 361e4b3..c2a71d9 100644 --- a/src/objects/member.rs +++ b/src/objects/member.rs @@ -131,11 +131,13 @@ impl Member { .await, )?; - let member_futures = member_builders - .iter() - .map(async move |m| m.build(data, Some(me)).await); + let mut members = vec![]; - futures::future::try_join_all(member_futures).await + for builder in member_builders { + members.push(builder.build(&data, Some(me)).await?); + } + + Ok(members) } pub async fn new(data: &Data, user_uuid: Uuid, guild_uuid: Uuid) -> Result {