better logging in rescan_vault()
parent
b773dbc49c
commit
b051529da6
|
@ -1,18 +1,3 @@
|
|||
use anyhow::{anyhow, Error, Result};
|
||||
use chrono::prelude::*;
|
||||
use diesel::sqlite::Sqlite;
|
||||
use diesel::Connection;
|
||||
use log::{error, info, trace};
|
||||
use rayon::prelude::*;
|
||||
use serde_json::Value;
|
||||
use std::convert::TryFrom;
|
||||
use std::path::{Component, Path, PathBuf};
|
||||
use std::sync::{Arc, RwLock};
|
||||
use std::time::{Instant, UNIX_EPOCH};
|
||||
use std::{fs, iter};
|
||||
use uuid::Uuid;
|
||||
use walkdir::WalkDir;
|
||||
|
||||
use crate::addressing::Address;
|
||||
use crate::database::{
|
||||
bulk_retrieve_objects, file_set_valid, insert_entry, insert_file, query, retrieve_all_files,
|
||||
|
@ -23,6 +8,20 @@ use crate::hash::Hashable;
|
|||
use crate::jobs::{Job, JobContainer, JobId};
|
||||
use crate::models;
|
||||
use crate::models::File;
|
||||
use anyhow::{anyhow, Error, Result};
|
||||
use chrono::prelude::*;
|
||||
use diesel::sqlite::Sqlite;
|
||||
use diesel::Connection;
|
||||
use log::{error, info, trace, warn};
|
||||
use rayon::prelude::*;
|
||||
use serde_json::Value;
|
||||
use std::convert::TryFrom;
|
||||
use std::path::{Component, Path, PathBuf};
|
||||
use std::sync::{Arc, RwLock};
|
||||
use std::time::{Instant, UNIX_EPOCH};
|
||||
use std::{fs, iter};
|
||||
use uuid::Uuid;
|
||||
use walkdir::WalkDir;
|
||||
|
||||
const DIR_TYPE: &str = "FS_DIR";
|
||||
const DIR_KEY: &str = "DIR";
|
||||
|
@ -447,9 +446,40 @@ fn _rescan_vault<T: AsRef<Path>>(
|
|||
})
|
||||
.collect();
|
||||
|
||||
let mut failed: Vec<&Error> = vec![];
|
||||
let mut created = 0;
|
||||
let mut unchanged = 0;
|
||||
let mut deleted = 0;
|
||||
|
||||
for result in &path_results {
|
||||
match result {
|
||||
Ok(result) => match result {
|
||||
UpdatePathOutcome::Added(_) => created += 1,
|
||||
UpdatePathOutcome::Unchanged(_) => unchanged += 1,
|
||||
UpdatePathOutcome::Removed(_) => deleted += 1,
|
||||
},
|
||||
Err(err) => failed.push(err),
|
||||
}
|
||||
}
|
||||
|
||||
if !failed.is_empty() {
|
||||
warn!(
|
||||
"{} path updates failed! ({})",
|
||||
failed.len(),
|
||||
failed
|
||||
.iter()
|
||||
.map(|e| e.to_string())
|
||||
.collect::<Vec<String>>()
|
||||
.join(", ")
|
||||
)
|
||||
}
|
||||
|
||||
info!(
|
||||
"Finished updating {}. Took {}s.",
|
||||
"Finished updating {} ({} created, {} deleted, {} left unchanged). Took {}s.",
|
||||
directory.as_ref().display(),
|
||||
created,
|
||||
deleted,
|
||||
unchanged,
|
||||
start.elapsed().as_secs()
|
||||
);
|
||||
|
||||
|
|
Loading…
Reference in New Issue