no service-checker script anymore, only rust

pull/9/head
prplV 2024-07-30 14:40:48 +03:00
parent f4c24c3993
commit cb3d8b354f
1 changed files with 13 additions and 13 deletions

View File

@ -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(_) => { Err(_) => return Err(CustomError::Fatal),
return Err(CustomError::Fatal); }
},
};
} }