finish up janitor
This commit is contained in:
parent
32d5666477
commit
ea7d285b7a
|
@ -13,6 +13,14 @@ async fn check_key(key: String, mut client: redis::Client) -> bool {
|
|||
let val: String = client.get(key.clone()).unwrap();
|
||||
let file: File = serde_json::from_str(val.as_str()).unwrap();
|
||||
|
||||
if file.expired() {
|
||||
#[cfg(debug_assertions)] {
|
||||
log::debug!("Object {key} is marked for deletion because it has expired");
|
||||
}
|
||||
client.del::<String, ()>(key).unwrap();
|
||||
return true;
|
||||
}
|
||||
|
||||
if ! Path::new(&file.path.clone()).exists() {
|
||||
#[cfg(debug_assertions)] {
|
||||
log::debug!("Object {key} is marked for deletion because it doesn't exist in the filesystem");
|
||||
|
@ -23,6 +31,9 @@ async fn check_key(key: String, mut client: redis::Client) -> bool {
|
|||
|
||||
let stat = tokio::fs::metadata(file.clone().path).await.unwrap();
|
||||
if ! stat.is_file() {
|
||||
#[cfg(debug_assertions)] {
|
||||
log::debug!("Object {key} is marked for deletion because it exists in the filesystem, but is not a file");
|
||||
}
|
||||
client.del::<String, ()>(key).unwrap();
|
||||
return true;
|
||||
}
|
||||
|
|
|
@ -36,13 +36,15 @@ async fn main() {
|
|||
if res.is_err() {
|
||||
log::error!("Error while cleaning: {}", res.unwrap_err());
|
||||
log::error!("Retrying in {}", std::env::var("CLEAN_ERRDEL").unwrap());
|
||||
log::debug!("Next clean will run at {}", chrono::Local::now() + env.clean_errdel);
|
||||
tokio::time::sleep(envy.clean_errdel).await;
|
||||
continue;
|
||||
}
|
||||
|
||||
#[cfg(debug_assertions)] {
|
||||
log::debug!("Cleaned successfully");
|
||||
log::debug!("Next clean is scheduled in {}", std::env::var("CLEAN_DEL").unwrap())
|
||||
log::debug!("Next clean is scheduled in {}", std::env::var("CLEAN_DEL").unwrap());
|
||||
log::debug!("Next clean will run at {}", chrono::Local::now() + env.clean_del);
|
||||
}
|
||||
|
||||
tokio::time::sleep(envy.clean_errdel).await;
|
||||
|
|
Loading…
Reference in New Issue