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| {
|
panic::set_hook(Box::new(|panic_info| {
|
||||||
print_error(&format!("Panic in running keeprunningd: {:?}", 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(&[
|
let config_file_opt = locate_file(&[
|
||||||
"keeprunningd.json".into(),
|
"keeprunningd.json".into(),
|
||||||
"~/keeprunningd.json".into(),
|
"~/keeprunningd.json".into(),
|
||||||
@@ -42,7 +54,7 @@ fn main() {
|
|||||||
let config_file = match config_file_opt {
|
let config_file = match config_file_opt {
|
||||||
None => {
|
None => {
|
||||||
print_error("Cannot find config file!");
|
print_error("Cannot find config file!");
|
||||||
return;
|
return None;
|
||||||
},
|
},
|
||||||
Some(config_file) => {
|
Some(config_file) => {
|
||||||
print_info(&format!("Find config file: {:?}", &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) {
|
let config_file_content = match fs::read_to_string(&config_file) {
|
||||||
Ok(c) => c, Err(err) => {
|
Ok(c) => c, Err(err) => {
|
||||||
print_error(&format!("Read config file {:?}, error: {}", &config_file, 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) {
|
let keep_running_config: KeepRunningConfig = match serde_json::from_str(&config_file_content) {
|
||||||
Ok(c) => c, Err(err) => {
|
Ok(c) => c, Err(err) => {
|
||||||
print_error(&format!("Parse config file: {:?}, error: {}", &config_file, 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));
|
print_debug(&format!("Config: {}", json));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Some(keep_running_config)
|
||||||
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 keep_runningd(keep_running_config: Arc<KeepRunningConfig>) {
|
fn keep_runningd(keep_running_config: Arc<KeepRunningConfig>) {
|
||||||
|
|||||||
Reference in New Issue
Block a user