rm restart

This commit is contained in:
aniketfuryrocks 2023-06-26 23:34:24 +05:30
parent a3f4984287
commit 97edd3d539
No known key found for this signature in database
GPG Key ID: 1B75EA596D89FF06
2 changed files with 7 additions and 22 deletions

1
Cargo.lock generated
View File

@ -430,6 +430,7 @@ dependencies = [
"dashmap", "dashmap",
"dirs", "dirs",
"futures", "futures",
"lazy_static",
"log", "log",
"rand 0.8.5", "rand 0.8.5",
"rand_chacha 0.3.1", "rand_chacha 0.3.1",

View File

@ -2,7 +2,7 @@ pub mod rpc_tester;
use std::time::Duration; use std::time::Duration;
use anyhow::Context; use anyhow::{bail, Context};
use clap::Parser; use clap::Parser;
use dotenv::dotenv; use dotenv::dotenv;
use lite_rpc::{bridge::LiteBridge, cli::Args}; use lite_rpc::{bridge::LiteBridge, cli::Args};
@ -12,8 +12,6 @@ use std::env;
use crate::rpc_tester::RpcTester; use crate::rpc_tester::RpcTester;
const RESTART_DURATION: Duration = Duration::from_secs(20);
async fn get_identity_keypair(identity_from_cli: &str) -> Keypair { async fn get_identity_keypair(identity_from_cli: &str) -> Keypair {
if let Ok(identity_env_var) = env::var("IDENTITY") { if let Ok(identity_env_var) = env::var("IDENTITY") {
if let Ok(identity_bytes) = serde_json::from_str::<Vec<u8>>(identity_env_var.as_str()) { if let Ok(identity_bytes) = serde_json::from_str::<Vec<u8>>(identity_env_var.as_str()) {
@ -103,34 +101,20 @@ pub async fn main() -> anyhow::Result<()> {
let args = get_args(); let args = get_args();
let ctrl_c_signal = tokio::signal::ctrl_c();
let rpc_tester = RpcTester::from(&args).start(); let rpc_tester = RpcTester::from(&args).start();
let main = tokio::spawn(async move { let main = start_lite_rpc(args.clone());
loop {
let Err(err) = start_lite_rpc(args.clone()).await else {
return anyhow::Error::msg("LiteBridge services returned without error");
};
// log and restart
log::error!("Services quit unexpectedly {err:?} restarting in {RESTART_DURATION:?}");
tokio::time::sleep(RESTART_DURATION).await;
// increment restart
log::error!("Restarting services");
RESTARTS.inc();
}
});
let ctrl_c_signal = tokio::signal::ctrl_c();
tokio::select! { tokio::select! {
err = rpc_tester => { err = rpc_tester => {
// This should never happen // This should never happen
unreachable!("{err:?}") unreachable!("{err:?}")
} }
err = main => { res = main => {
// This should never happen // This should never happen
unreachable!("{err:?}") log::error!("Services quit unexpectedly {res:?}");
bail!("")
} }
_ = ctrl_c_signal => { _ = ctrl_c_signal => {
log::info!("Received ctrl+c signal"); log::info!("Received ctrl+c signal");