error: TypeError: Bulk response (response was [bulk(string-data('"1721382102455-0"'), bulk(string-data('"config"'), string-data('"{ ...

pull/9/head
prplV 2024-07-19 12:58:33 +03:00
parent 9cbf17647d
commit 2a121589f7
1 changed files with 22 additions and 7 deletions

View File

@ -1,4 +1,4 @@
use redis::Commands;
use redis::{Commands, ConnectionAddr};
// json parsing
use serde::{ Deserialize, Serialize };
use serde_json;
@ -19,9 +19,9 @@ use std::sync::Arc;
use inotify::{ Inotify, WatchMask };
// logging
use std::io::Write;
use chrono::Local;
use chrono::{ Local, NaiveDate };
use env_logger::Builder;
use log::{error, log, max_level, warn, LevelFilter};
use log::{error, warn, LevelFilter};
/// # an Error enum (nextly will be deleted and replaced)
enum CustomError {
@ -142,11 +142,22 @@ async fn main() {
error!("Cannot find needed stream to get configuration");
return;
}
let config: String = conn.xrevrange("config_stream", "", "").inspect_err(|_| {
error!("Cannot fetch config");
return String::new();
// error
let config: Vec<(String, Vec<(String, String)>)> = conn.xrevrange_count("config_stream", "+", "-", 1)
.unwrap_or_else(|er| {
println!("error: {}", er);
return Vec::new();
});
let processes = parse_extern_config(&config);
println!("external config: {:?}", config);
let processes: Processes;
if config.is_empty() {
error!("No suitable config was given. Getting local config...");
processes = load_processes("settings.json");
} else {
println!("{:?}+++{}", std::time::SystemTime::now(), &config[1].0);
processes = parse_extern_config(&config[1].0);
}
// let processes: Processes = {
// let mut _temp = String::new();
// loop {
@ -200,6 +211,10 @@ async fn main() {
return;
}
fn save_new_config(config: &str) -> Result<(), CustomError> {
Ok(())
}
async fn create_watcher(filename: &str, path: &str) -> Result<Inotify, std::io::Error> {
let src = format!("{}{}", path, filename);
let mut inotify: Inotify = Inotify::init().expect(&("Error: Cannot create watcher for ".to_owned() + &src));