ref parse_keep_running_config
This commit is contained in:
26
src/main.rs
26
src/main.rs
@@ -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>) {
|
||||
|
||||
Reference in New Issue
Block a user