X-Git-Url: http://git.euphorik.ch/?a=blobdiff_plain;ds=sidebyside;f=src%2Fmain.rs;fp=src%2Fmain.rs;h=b58f7b342f47656c5f4e01c1e6bd6f0935259969;hb=95d52b9d01c9894acc15e90d0e4be81a8df352ed;hp=114b915e914153204d6140925955f5494e62fcbe;hpb=507c694cf6672969f9003324a4783c91bf31f764;p=stakingWatchdog.git diff --git a/src/main.rs b/src/main.rs index 114b915..b58f7b3 100644 --- a/src/main.rs +++ b/src/main.rs @@ -26,8 +26,9 @@ mod config; // mod error; const FILE_CONF: &str = "config.ron"; -const CHECK_PERIOD: Duration = Duration::from_secs(10); // 10s. -const EMAIL_RESEND_PERIOD: Duration = Duration::from_secs(6 * 60 * 60); // 6h. +const CHECK_PERIOD: Duration = Duration::from_secs(10); // 10 s. +const EMAIL_RESEND_PERIOD: Duration = Duration::from_secs(6 * 60 * 60); // 6 h. +const STATE_PRINT_PERIOD: Duration = Duration::from_secs(15 * 60); // 15 min. const BASE_URI: &str = "http://localhost:5052/eth/v1/"; fn main() -> Result<()> { @@ -44,11 +45,14 @@ fn main() -> Result<()> { ); let mut time_last_email_send = time::Instant::now() - EMAIL_RESEND_PERIOD; + let mut time_last_state_printed = time::Instant::now() - STATE_PRINT_PERIOD; + let mut error_state = false; loop { let time_beginning_loop = time::Instant::now(); if let Err(error) = check_validators(&config.pub_keys) { + error_state = true; println!("Error: {:?}", error); if time::Instant::now() - time_last_email_send >= EMAIL_RESEND_PERIOD { // Send e-mail. @@ -66,6 +70,16 @@ fn main() -> Result<()> { } } } + } else { + if error_state { + error_state = false; + println!("End of erroneous state"); + } + + if time::Instant::now() - time_last_state_printed >= STATE_PRINT_PERIOD { + println!("No error detected"); + time_last_state_printed = time::Instant::now(); + } } let elapsed = time::Instant::now() - time_beginning_loop;