X-Git-Url: http://git.euphorik.ch/?a=blobdiff_plain;f=src%2Fmain.rs;h=b58f7b342f47656c5f4e01c1e6bd6f0935259969;hb=95d52b9d01c9894acc15e90d0e4be81a8df352ed;hp=0b7c9c4cf0164fa084ab5274920ac70ec0db8cae;hpb=ae75a0e819ce1f12250c437469849f30a0473fc0;p=stakingWatchdog.git diff --git a/src/main.rs b/src/main.rs index 0b7c9c4..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<()> { @@ -35,14 +36,23 @@ fn main() -> Result<()> { let config = Config::read(FILE_CONF)?; - println!("Configuration: {:?}", config); + println!( + "Configuration: {:?}", + Config { + smtp_password: "*****".to_string(), + ..config.clone() + } + ); 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. @@ -60,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;