no service-checker script anymore, only rust
parent
f4c24c3993
commit
cb3d8b354f
26
src/main.rs
26
src/main.rs
|
|
@ -3,15 +3,14 @@ use redis::Commands;
|
||||||
use serde::{ Deserialize, Serialize };
|
use serde::{ Deserialize, Serialize };
|
||||||
use serde_json;
|
use serde_json;
|
||||||
// async multi-threaded execution
|
// async multi-threaded execution
|
||||||
use tokio::time::{ error, Duration, Instant };
|
use tokio::time::{ Duration, Instant };
|
||||||
use tokio::sync::mpsc;
|
use tokio::sync::mpsc;
|
||||||
use tokio::join;
|
use tokio::join;
|
||||||
// fatal errors handler
|
// fatal errors handler
|
||||||
use core::{panic, time};
|
use core::panic;
|
||||||
// utils
|
// utils
|
||||||
use std::fmt::Debug;
|
use std::fmt::Debug;
|
||||||
use std::fs;
|
use std::fs;
|
||||||
use std::os::unix::process;
|
|
||||||
use std::path::Path;
|
use std::path::Path;
|
||||||
use std::process::{ Command, Output };
|
use std::process::{ Command, Output };
|
||||||
use std::sync::Arc;
|
use std::sync::Arc;
|
||||||
|
|
@ -22,6 +21,7 @@ use std::io::Write;
|
||||||
use chrono::{Local, Utc};
|
use chrono::{Local, Utc};
|
||||||
use env_logger::Builder;
|
use env_logger::Builder;
|
||||||
use log::{error, warn, LevelFilter};
|
use log::{error, warn, LevelFilter};
|
||||||
|
use std::net::{TcpStream, ToSocketAddrs};
|
||||||
|
|
||||||
static CONFIG_PATH : &'static str = "settings.json";
|
static CONFIG_PATH : &'static str = "settings.json";
|
||||||
|
|
||||||
|
|
@ -713,20 +713,20 @@ async fn looped_service_connecting(
|
||||||
return Err(CustomError::Fatal);
|
return Err(CustomError::Fatal);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
async fn check_service(host: &str, port: &u32) -> Result<(), CustomError> {
|
|
||||||
let mut command = Command::new("bash");
|
|
||||||
command.args(["service-checker.sh", host, &port.to_string()]);
|
|
||||||
|
|
||||||
match command.output() {
|
// ! have to be rewritten
|
||||||
Ok(output) => {
|
// todo: rewrite use
|
||||||
if output.status.success() {
|
async fn check_service(hostname: &str, port: &u32) -> Result<(), CustomError> {
|
||||||
|
let addr = format!("{}:{}", hostname, port);
|
||||||
|
|
||||||
|
match addr.to_socket_addrs() {
|
||||||
|
Ok(mut addrs) => {
|
||||||
|
if let Some(_) = addrs.find(|a| TcpStream::connect_timeout(a, std::time::Duration::new(1, 0)).is_ok()) {
|
||||||
return Ok(());
|
return Ok(());
|
||||||
} else {
|
} else {
|
||||||
return Err(CustomError::Fatal);
|
return Err(CustomError::Fatal);
|
||||||
}
|
}
|
||||||
},
|
|
||||||
Err(_) => {
|
|
||||||
return Err(CustomError::Fatal);
|
|
||||||
},
|
},
|
||||||
};
|
Err(_) => return Err(CustomError::Fatal),
|
||||||
|
}
|
||||||
}
|
}
|
||||||
Loading…
Reference in New Issue