use std::io::Write; use std::sync::mpsc; use crate::utils::print_err; pub enum Message { WriteToFile(String, String), Quit, } pub fn start(rx: mpsc::Receiver) { for msg in rx { match msg { Message::WriteToFile(file_path, text) => write(file_path, text), Message::Quit => break, } } println!("Db Writer Thread Stopped"); } fn write(file_path: String, text: String) { let file = std::fs::OpenOptions::new() .write(true) .append(true) .create(true) .open(&file_path); if let Err(err) = file { print_err(&format!( "Error '{}' while writing to file '{file_path}', text: '{text}'", err )); return; } let _ = writeln!(file.unwrap(), "{text}"); }