ref parse_keep_running_config

This commit is contained in:
2020-05-05 10:32:31 +08:00
parent 237037e169
commit b57cf5fbde

View File

@@ -32,7 +32,19 @@ fn main() {
panic::set_hook(Box::new(|panic_info| {
print_error(&format!("Panic in running keeprunningd: {:?}", panic_info));
}));
let keep_running_config = match parse_keep_running_config() {
Some(c) => c, None => return,
};
let keep_running_config: Arc<KeepRunningConfig> = Arc::new(keep_running_config);
for check_cnt in 0.. {
print_info(&format!("Check index: {} @{:?}", check_cnt, Local::now()));
keep_runningd(keep_running_config.clone());
thread::sleep(Duration::from_secs(keep_running_config.check_inverval_secs.unwrap_or(60 * 60)));
}
}
fn parse_keep_running_config() -> Option<KeepRunningConfig> {
let config_file_opt = locate_file(&[
"keeprunningd.json".into(),
"~/keeprunningd.json".into(),
@@ -42,7 +54,7 @@ fn main() {
let config_file = match config_file_opt {
None => {
print_error("Cannot find config file!");
return;
return None;
},
Some(config_file) => {
print_info(&format!("Find config file: {:?}", &config_file));
@@ -53,14 +65,14 @@ fn main() {
let config_file_content = match fs::read_to_string(&config_file) {
Ok(c) => c, Err(err) => {
print_error(&format!("Read config file {:?}, error: {}", &config_file, err));
return;
return None;
},
};
let keep_running_config: KeepRunningConfig = match serde_json::from_str(&config_file_content) {
Ok(c) => c, Err(err) => {
print_error(&format!("Parse config file: {:?}, error: {}", &config_file, err));
return;
return None;
},
};
@@ -69,13 +81,7 @@ fn main() {
print_debug(&format!("Config: {}", json));
}
}
let keep_running_config: Arc<KeepRunningConfig> = Arc::new(keep_running_config);
for check_cnt in 0.. {
print_info(&format!("Check index: {} @{:?}", check_cnt, Local::now()));
keep_runningd(keep_running_config.clone());
thread::sleep(Duration::from_secs(keep_running_config.check_inverval_secs.unwrap_or(60 * 60)));
}
Some(keep_running_config)
}
fn keep_runningd(keep_running_config: Arc<KeepRunningConfig>) {