From 19ab962a14ccbb49fc3f022e29791004fdbe9b06 Mon Sep 17 00:00:00 2001 From: aniketfuryrocks Date: Tue, 21 Mar 2023 22:00:18 +0530 Subject: [PATCH] don't return on session error --- src/workers/postgres.rs | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/workers/postgres.rs b/src/workers/postgres.rs index 997e7beb..2d359636 100644 --- a/src/workers/postgres.rs +++ b/src/workers/postgres.rs @@ -1,6 +1,6 @@ -use std::sync::Arc; +use std::{sync::Arc, time::Duration}; -use anyhow::{bail, Context, Ok}; +use anyhow::{bail, Context}; use log::{info, warn}; use postgres_native_tls::MakeTlsConnector; @@ -235,8 +235,13 @@ impl Postgres { info!("Writing to postgres"); while let Some(msg) = recv.recv().await { + let Ok(session) = self.get_session().await else { + warn!("Unable to get postgres session. Retrying in 1000ms"); + tokio::time::sleep(Duration::from_millis(1000)); + continue; + }; + MESSAGES_IN_POSTGRES_CHANNEL.dec(); - let session = self.get_session().await?; let Err(err) = ( match msg {