services: imports: refine to use SystemTime
* Use standard library to calculate SystemTime and Duration * exporse results to be accessible in orbtk views Signed-off-by: Ralf Zerres <ralf.zerres@networkx.de>
This commit is contained in:
@@ -9,6 +9,7 @@ use chrono::{Local, DateTime};
|
||||
use locales::t;
|
||||
use std::error::Error;
|
||||
use std::collections::HashMap;
|
||||
use std::time::{Duration, SystemTime};
|
||||
use tracing::trace;
|
||||
|
||||
//use crate::db::redis;
|
||||
@@ -23,18 +24,19 @@ pub fn import(p: &mut String, data_list: &mut PolicyDataList,
|
||||
policy_numbers: &mut HashMap<usize, PolicyCode>,
|
||||
policy_data_count: &mut usize,
|
||||
lang: &String)
|
||||
-> Result<usize, Box<dyn Error>> {
|
||||
-> Result<(usize, Duration), Box<dyn Error>> {
|
||||
use std::fs::File;
|
||||
use std::path::Path;
|
||||
use std::ffi::OsStr;
|
||||
|
||||
let mut res = t!("csv.import.started", lang);
|
||||
let mut state = t!("state.started", lang);
|
||||
let dt_start: DateTime<Local> = Local::now();
|
||||
let time_start = SystemTime::now();
|
||||
let datetime: DateTime<Local> = time_start.into();
|
||||
|
||||
trace!(target: "advotrackerd", process = ?res, state = ?state, date_start = ?dt_start.to_string());
|
||||
trace!(target: "advotrackerd", process = ?res, state = ?state, date_start = ?datetime.to_string());
|
||||
|
||||
// Note: slash syntax also workd on Windows!
|
||||
// Note: slash syntax also works on Windows!
|
||||
let path = Path::new(p);
|
||||
|
||||
// must be a readable file
|
||||
@@ -81,12 +83,11 @@ pub fn import(p: &mut String, data_list: &mut PolicyDataList,
|
||||
|
||||
count +=1;
|
||||
*policy_data_count = count;
|
||||
|
||||
};
|
||||
|
||||
let dt_end: DateTime<Local> = Local::now();
|
||||
let duration = dt_end.signed_duration_since(dt_start);
|
||||
|
||||
let time_end = SystemTime::now();
|
||||
let duration = time_end.duration_since(time_start)
|
||||
.expect("Clock may have gone backwards");
|
||||
trace!(target: "advotrackerd", record_count = ?count, duration = ?duration);
|
||||
|
||||
// Tests
|
||||
@@ -105,7 +106,8 @@ pub fn import(p: &mut String, data_list: &mut PolicyDataList,
|
||||
|
||||
state = t!("state.finished", lang);
|
||||
res = t!("csv.import.finished", lang);
|
||||
trace!(target: "advotrackerd", process = ?res, state = ?state, date_stop = ?dt_end.to_string());
|
||||
let datetime: DateTime<Local> = time_end.into();
|
||||
trace!(target: "advotrackerd", process = ?res, state = ?state, date_stop = ?datetime.to_string());
|
||||
|
||||
Ok(count)
|
||||
Ok((count, duration))
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user