Browse Source

basic save of analytic_unit

analytic-unit-type-and-meta-in-db-#65
Alexey Velikiy 2 years ago
parent
commit
d7b283f1ff
  1. 42
      server/src/services/analytic_service/analytic_service.rs
  2. 8
      server/src/services/analytic_service/analytic_unit/types.rs

42
server/src/services/analytic_service/analytic_service.rs

@ -283,18 +283,48 @@ impl AnalyticService {
println!("equals: {}", my_id == patch_id);
let same_type = my_id == patch_id;
if same_type {
let new_conf = patch.get_new_config();
self.analytic_unit_config = new_conf.clone();
self.analytic_unit_service.update_config_by_id(&my_id, &new_conf).unwrap();
if self.analytic_unit.is_some() {
tokio::spawn({
let au = self.analytic_unit.clone();
let cfg = self.analytic_unit_config.clone();
async move {
au.unwrap().write().await.set_config(cfg);
match tx.send(()) {
Ok(_) => {}
Err(_e) => {
println!("Can`t send patch config notification");
}
}
}
});
} else {
// TODO: implement
}
} else {
// TODO: extracdt from db
match tx.send(()) {
Ok(_) => {}
Err(_e) => {
println!("Can`t send patch config notification");
}
}
}
// TODO: update analytic_unit config if some
// TODO: save updated
// TODO: run learning when different
// TODO: run learning when it's necessary
match tx.send(()) {
Ok(_) => {}
Err(_e) => {
println!("Can`t send patch config notification");
}
}

8
server/src/services/analytic_service/analytic_unit/types.rs

@ -164,4 +164,12 @@ impl PatchConfig {
PatchConfig::Anomaly(_) => "3".to_string()
}
}
pub fn get_new_config(&self) -> AnalyticUnitConfig {
match &self {
PatchConfig::Threshold(cfg) => AnalyticUnitConfig::Threshold(cfg.as_ref().unwrap().clone()),
PatchConfig::Pattern(cfg) => AnalyticUnitConfig::Pattern(cfg.as_ref().unwrap().clone()),
PatchConfig::Anomaly(cfg) => AnalyticUnitConfig::Anomaly(cfg.as_ref().unwrap().clone())
}
}
}
Loading…
Cancel
Save