From 60927a97782255b240c80a4865eeab190954c6f7 Mon Sep 17 00:00:00 2001 From: shimomura-shunsuke Date: Sat, 29 Jun 2024 16:16:08 +0900 Subject: [PATCH] =?UTF-8?q?=E8=B5=B7=E5=8B=95=E6=99=82=E3=81=AB=E3=83=AC?= =?UTF-8?q?=E3=82=B3=E3=83=BC=E3=83=80=E3=83=BC=E3=81=8C=E7=AB=8B=E3=81=A1?= =?UTF-8?q?=E4=B8=8A=E3=81=8C=E3=82=8B=E3=81=AE=E3=82=92=E5=BE=85=E3=81=A4?= =?UTF-8?q?=E3=82=88=E3=81=86=E3=81=AB=E3=81=97=E3=81=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tmtc-c2a/src/main.rs | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/tmtc-c2a/src/main.rs b/tmtc-c2a/src/main.rs index 5c4d74e..7228a8b 100644 --- a/tmtc-c2a/src/main.rs +++ b/tmtc-c2a/src/main.rs @@ -101,7 +101,15 @@ async fn main() -> Result<()> { )?; let recorder_client = if let Some(recorder_endpoint) = args.recorder_endpoint { - let recorder_client_channel = Channel::builder(recorder_endpoint).connect().await?; + let recorder_client_channel = loop { + match Channel::builder(recorder_endpoint.clone()).connect().await { + Ok(channel) => break channel, + Err(e) => { + tracing::warn!(message = "recorder not available", %e); + tokio::time::sleep(std::time::Duration::from_secs(1)).await; + } + } + }; let recorder_client = RecorderClient::new(recorder_client_channel); Some(recorder_client) } else {