diff --git a/.env b/.env index 8d32885..713ff15 100644 --- a/.env +++ b/.env @@ -27,9 +27,11 @@ PG_POOL_SIZE=25 # CONFIG RUST_LOG=info - +#APP DELAY_TIME=0 RANDOMNESS_DELAY=100 -DB_POLL_INTERVAL=5 -TIMING_ADVANCE=10 -FAIL_DETECT_INTERVAL=10 +MONITOR_DB_POLL=5 +TIMING_ADVANCE=0 +FAIL_DETECT_INTERVAL=500 +MAX_RETRIES=3 +PROCESSOR_DB_POLL=10 diff --git a/.env.example b/.env.example index 29716af..1c5f647 100644 --- a/.env.example +++ b/.env.example @@ -30,6 +30,8 @@ RUST_LOG=debug #APP DELAY_TIME=0 RANDOMNESS_DELAY=100 -DB_POLL_INTERVAL=5 +MONITOR_DB_POLL=5 TIMING_ADVANCE=0 -FAIL_DETECT_INTERVAL=500 \ No newline at end of file +FAIL_DETECT_INTERVAL=500 +MAX_RETRIES=3 +PROCESSOR_DB_POLL=10 \ No newline at end of file diff --git a/How-to.md b/How-to.md index 64cb0cd..5b1bc51 100644 --- a/How-to.md +++ b/How-to.md @@ -39,7 +39,7 @@ All the required configurations for Chronos can be passed in environment variabl | PG_POOL_SIZE|50|True | DELAY_TIME|0|False | RANDOMNESS_DELAY|100|False -| DB_POLL_INTERVAL|5|False +| MONITOR_DB_POLL|5|False | TIMING_ADVANCE|0|False | FAIL_DETECT_INTERVAL|500|False diff --git a/chronos_bin/src/monitor.rs b/chronos_bin/src/monitor.rs index ad75330..b64a788 100644 --- a/chronos_bin/src/monitor.rs +++ b/chronos_bin/src/monitor.rs @@ -1,6 +1,6 @@ use crate::postgres::pg::Pg; use crate::utils::config::ChronosConfig; -use chrono::{Duration as chrono_duration, Utc}; +use chrono::Utc; use std::sync::Arc; use std::time::Duration; @@ -13,7 +13,7 @@ impl FailureDetector { pub async fn run(&self) { println!("Monitoring On!"); loop { - let _ = tokio::time::sleep(Duration::from_secs(ChronosConfig::from_env().db_poll_interval)).await; // sleep for 10sec + let _ = tokio::time::sleep(Duration::from_secs(ChronosConfig::from_env().monitor_db_poll)).await; // sleep for 10sec match &self .data_store diff --git a/chronos_bin/src/utils/config.rs b/chronos_bin/src/utils/config.rs index a0c6a57..58d599b 100644 --- a/chronos_bin/src/utils/config.rs +++ b/chronos_bin/src/utils/config.rs @@ -1,7 +1,8 @@ #[derive(Debug, Clone)] pub struct ChronosConfig { // pub random_delay: u64, - pub db_poll_interval: u64, + pub monitor_db_poll: u64, + pub processor_db_poll: u64, pub time_advance: u64, pub fail_detect_interval: u64, } @@ -10,10 +11,14 @@ impl ChronosConfig { pub fn from_env() -> ChronosConfig { ChronosConfig { // random_delay: env_var!("RANDOMNESS_DELAY").parse().unwrap(), - db_poll_interval: std::env::var("DB_POLL_INTERVAL") + monitor_db_poll: std::env::var("MONITOR_DB_POLL") .unwrap_or_else(|_| "5".to_string()) .parse() - .expect("Failed to parse DB_POLL_INTERVAL!!"), + .expect("Failed to parse MONITOR_DB_POLL!!"), + processor_db_poll: std::env::var("PROCESSOR_DB_POLL") + .unwrap_or_else(|_| "5".to_string()) + .parse() + .expect("Failed to parse PROCESSOR_DB_POLL!!"), time_advance: std::env::var("TIMING_ADVANCE") .unwrap_or_else(|_| "0".to_string()) .parse() diff --git a/docker-compose.yml b/docker-compose.yml index 48a62ea..374eb12 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -98,7 +98,7 @@ services: # App config (optional) # DELAY_TIME: 0 # RANDOMNESS_DELAY: 100 - # DB_POLL_INTERVAL: 5 + # MONITOR_POLL_INTERVAL: 5 # TIMING_ADVANCE: 0 # FAIL_DETECT_INTERVAL: 500 depends_on: