diff --git a/Dockerfile-arm64 b/Dockerfile-arm64 index abba527..a7551c7 100644 --- a/Dockerfile-arm64 +++ b/Dockerfile-arm64 @@ -6,6 +6,6 @@ COPY arm64/cph_open cph_open RUN apt-get update -y RUN apt-get upgrade -y -RUN apt-get install -y libssl-dev +RUN apt-get install -y libssl-dev ca-certificates ENTRYPOINT ["./cph_open"] diff --git a/src/main.rs b/src/main.rs index 41e3877..5a34a4c 100644 --- a/src/main.rs +++ b/src/main.rs @@ -19,6 +19,7 @@ fn main() { let most_recent_event_id: u64 = find_most_recent_event_id(&potential_cph_open_filename, last_checked_event_id) .expect("Failed to find most recent event id"); + // Check next event update_last_checked_event_id(&last_event_id_filename, most_recent_event_id); } @@ -28,28 +29,33 @@ fn get_last_checked_event_id(filename: &String) -> Result> { } fn find_most_recent_event_id(cph_filepath: &str, last_checked: u64) -> Result> { + let mut check_ahead = 0; let mut last_checked_event_id = last_checked; - let mut last_event_exists = true; - while last_event_exists == true { - last_checked_event_id += 1; - println!("Checking event: {}", last_checked_event_id); - let (exists, is_cph_open) = check_event(last_checked_event_id); + while check_ahead < 3 { + let id_to_check = last_checked_event_id + 1 + check_ahead; + println!("Checking event: {}", id_to_check); + let (exists, is_cph_open) = check_event(id_to_check); println!("- Exists: {}", exists); println!("- CPH-OPEN: {}", is_cph_open); - last_event_exists = exists; thread::sleep(Duration::from_secs(2)); if is_cph_open { - save_event_id(cph_filepath, last_checked_event_id); + save_event_id(cph_filepath, id_to_check); + } + if !exists { + check_ahead += 1; + } else { + last_checked_event_id = id_to_check; + check_ahead = 0; } } - Ok(last_checked_event_id - 1) + Ok(last_checked_event_id) } fn check_event(id: u64) -> (bool, bool) { let mut no_requests = 0; let mut event_confirmed = false; let mut matches = false; - while no_requests < 3 && !event_confirmed { + while no_requests < 5 && !event_confirmed { no_requests += 1; let content = reqwest::blocking::get(format!("{URL}{id}")) .expect("")