check ahead
This commit is contained in:
parent
ec59d97e52
commit
8336bfee91
@ -6,6 +6,6 @@ COPY arm64/cph_open cph_open
|
|||||||
|
|
||||||
RUN apt-get update -y
|
RUN apt-get update -y
|
||||||
RUN apt-get upgrade -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"]
|
ENTRYPOINT ["./cph_open"]
|
||||||
|
|||||||
24
src/main.rs
24
src/main.rs
@ -19,6 +19,7 @@ fn main() {
|
|||||||
let most_recent_event_id: u64 =
|
let most_recent_event_id: u64 =
|
||||||
find_most_recent_event_id(&potential_cph_open_filename, last_checked_event_id)
|
find_most_recent_event_id(&potential_cph_open_filename, last_checked_event_id)
|
||||||
.expect("Failed to find most recent 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);
|
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<u64, Box<dyn Error>> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fn find_most_recent_event_id(cph_filepath: &str, last_checked: u64) -> Result<u64, Box<dyn Error>> {
|
fn find_most_recent_event_id(cph_filepath: &str, last_checked: u64) -> Result<u64, Box<dyn Error>> {
|
||||||
|
let mut check_ahead = 0;
|
||||||
let mut last_checked_event_id = last_checked;
|
let mut last_checked_event_id = last_checked;
|
||||||
let mut last_event_exists = true;
|
while check_ahead < 3 {
|
||||||
while last_event_exists == true {
|
let id_to_check = last_checked_event_id + 1 + check_ahead;
|
||||||
last_checked_event_id += 1;
|
println!("Checking event: {}", id_to_check);
|
||||||
println!("Checking event: {}", last_checked_event_id);
|
let (exists, is_cph_open) = check_event(id_to_check);
|
||||||
let (exists, is_cph_open) = check_event(last_checked_event_id);
|
|
||||||
println!("- Exists: {}", exists);
|
println!("- Exists: {}", exists);
|
||||||
println!("- CPH-OPEN: {}", is_cph_open);
|
println!("- CPH-OPEN: {}", is_cph_open);
|
||||||
last_event_exists = exists;
|
|
||||||
thread::sleep(Duration::from_secs(2));
|
thread::sleep(Duration::from_secs(2));
|
||||||
if is_cph_open {
|
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) {
|
fn check_event(id: u64) -> (bool, bool) {
|
||||||
let mut no_requests = 0;
|
let mut no_requests = 0;
|
||||||
let mut event_confirmed = false;
|
let mut event_confirmed = false;
|
||||||
let mut matches = false;
|
let mut matches = false;
|
||||||
while no_requests < 3 && !event_confirmed {
|
while no_requests < 5 && !event_confirmed {
|
||||||
no_requests += 1;
|
no_requests += 1;
|
||||||
let content = reqwest::blocking::get(format!("{URL}{id}"))
|
let content = reqwest::blocking::get(format!("{URL}{id}"))
|
||||||
.expect("")
|
.expect("")
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user