BUG + SERVICE HANDLER DIED

pull/9/head
prplV 2024-07-04 09:56:13 -04:00
parent e29140657a
commit 93970e3ed4
1 changed files with 9 additions and 14 deletions

View File

@ -298,7 +298,7 @@ async fn file_handler(name: &str, files: &Vec<Files>, tx: mpsc::Sender<u8>) {
}, },
"hold" => { "hold" => {
tx.send(2).await.unwrap(); tx.send(2).await.unwrap();
break; return;
}, },
_ => { _ => {
tx.send(101).await.unwrap(); tx.send(101).await.unwrap();
@ -328,8 +328,7 @@ fn check_file(filename: &str, path: &str) -> Result<(), CustomError> {
async fn service_handler(name: &str, services: &Vec<Services>, tx: mpsc::Sender<u8>) { async fn service_handler(name: &str, services: &Vec<Services>, tx: mpsc::Sender<u8>) {
// println!("service daemon on {}", name); // println!("service daemon on {}", name);
if is_active(name) { if is_active(name) {
let mut er = 0; for serv in services {
'for_loop: for serv in services {
match check_service(&serv.hostname, &serv.port) { match check_service(&serv.hostname, &serv.port) {
Ok(_) => { Ok(_) => {
continue; continue;
@ -338,29 +337,25 @@ async fn service_handler(name: &str, services: &Vec<Services>, tx: mpsc::Sender<
println!("Service {}:{} is unreachable for process {}", &serv.hostname, &serv.port, &name); println!("Service {}:{} is unreachable for process {}", &serv.hostname, &serv.port, &name);
match serv.triggers.on_lost.as_str() { match serv.triggers.on_lost.as_str() {
"stay" => { "stay" => {
continue; println!("1");
}, },
"stop" => { "stop" => {
println!("2");
match looped_service_connecting(&name, serv).await { match looped_service_connecting(&name, serv).await {
Ok(_) => { Ok(_) => {},
continue 'for_loop;
},
Err(_) => { Err(_) => {
tx.send(5).await.unwrap(); tx.send(5).await.unwrap();
er += 1;
return; return;
}, },
} }
}, },
"hold" => { "hold" => {
println!("3");
match looped_service_connecting(&name, serv).await { match looped_service_connecting(&name, serv).await {
Ok(_) => { Ok(_) => {},
continue 'for_loop;
},
Err(_) => { Err(_) => {
tx.send(6).await.unwrap(); tx.send(6).await.unwrap();
er += 1; return;
break 'for_loop;
}, },
} }
}, },
@ -372,7 +367,7 @@ async fn service_handler(name: &str, services: &Vec<Services>, tx: mpsc::Sender<
}, },
} }
} }
if is_frozen(name) && er == 0 { if is_frozen(name) {
tx.send(11).await.unwrap(); tx.send(11).await.unwrap();
} }
} }