rm restart
This commit is contained in:
parent
a3f4984287
commit
97edd3d539
|
@ -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",
|
||||||
|
|
|
@ -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");
|
||||||
|
|
Loading…
Reference in New Issue