better practice for displaying next run date
This commit is contained in:
parent
655fe8a1d5
commit
7c57472cb4
|
@ -12,11 +12,11 @@ pub fn redis_conn(env: env::Env) -> Result<redis::Client, redis::RedisError> {
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Debug, Clone)]
|
#[derive(Debug, Clone)]
|
||||||
|
#[allow(dead_code)]
|
||||||
enum CleanResult {
|
enum CleanResult {
|
||||||
Skip,
|
Skip,
|
||||||
#[allow(dead_code)]
|
|
||||||
Break,
|
Break,
|
||||||
Ok
|
ScheduleNext(chrono::DateTime<chrono::Local>)
|
||||||
}
|
}
|
||||||
|
|
||||||
async fn clean(env: env::Env, state: State) -> CleanResult {
|
async fn clean(env: env::Env, state: State) -> CleanResult {
|
||||||
|
@ -27,21 +27,13 @@ async fn clean(env: env::Env, state: State) -> CleanResult {
|
||||||
let res = clean::clean(state.clone()).await;
|
let res = clean::clean(state.clone()).await;
|
||||||
if res.is_err() {
|
if res.is_err() {
|
||||||
log::error!("Error while cleaning: {}", res.unwrap_err());
|
log::error!("Error while cleaning: {}", res.unwrap_err());
|
||||||
log::error!("Retrying in {}", std::env::var("CLEAN_ERRDEL").unwrap());
|
return CleanResult::ScheduleNext(chrono::Local::now() + env.clean_errdel);
|
||||||
log::debug!("Next clean will run at {}", chrono::Local::now() + env.clean_errdel);
|
|
||||||
tokio::time::sleep(envy.clean_errdel).await;
|
|
||||||
return CleanResult::Skip;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(debug_assertions)] {
|
#[cfg(debug_assertions)] {
|
||||||
log::debug!("Cleaned successfully");
|
log::debug!("Cleaned successfully");
|
||||||
log::debug!("Next clean is scheduled in {}", std::env::var("CLEAN_DEL").unwrap());
|
return CleanResult::ScheduleNext(chrono::Local::now() + env.clean_del);
|
||||||
log::debug!("Next clean will run at {}", chrono::Local::now() + env.clean_del);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
tokio::time::sleep(envy.clean_errdel).await;
|
|
||||||
|
|
||||||
CleanResult::Ok
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#[tokio::main]
|
#[tokio::main]
|
||||||
|
@ -72,6 +64,12 @@ async fn main() {
|
||||||
CleanResult::Break => {
|
CleanResult::Break => {
|
||||||
break
|
break
|
||||||
},
|
},
|
||||||
|
CleanResult::ScheduleNext(next) => {
|
||||||
|
#[cfg(debug_assertions)] {
|
||||||
|
log::debug!("Next run is scheduled at {} ({})", next.format("%d-%m-%Y %H:%M:%S"), next.timestamp());
|
||||||
|
}
|
||||||
|
tokio::time::sleep((next - chrono::Local::now()).to_std().unwrap()).await;
|
||||||
|
},
|
||||||
_ => {}
|
_ => {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue