Vote + Results done
This commit is contained in:
@@ -20,4 +20,5 @@ log = "0.4.22"
|
|||||||
futures = "0.3.30"
|
futures = "0.3.30"
|
||||||
chrono = { version = "0.4.38", features = ["alloc"]}
|
chrono = { version = "0.4.38", features = ["alloc"]}
|
||||||
futures-util = "0.3.30"
|
futures-util = "0.3.30"
|
||||||
h2 = "0.4.6"
|
h2 = "0.4.6"
|
||||||
|
daemonize = "0.5.0"
|
||||||
|
|||||||
18
src/main.rs
18
src/main.rs
@@ -23,6 +23,7 @@ use std::net::SocketAddr;
|
|||||||
use std::str::FromStr;
|
use std::str::FromStr;
|
||||||
use std::sync::{Arc, Mutex};
|
use std::sync::{Arc, Mutex};
|
||||||
use std::time::SystemTime;
|
use std::time::SystemTime;
|
||||||
|
use daemonize::Daemonize;
|
||||||
use tokio::net::TcpListener;
|
use tokio::net::TcpListener;
|
||||||
|
|
||||||
#[derive(Serialize, Deserialize)]
|
#[derive(Serialize, Deserialize)]
|
||||||
@@ -211,7 +212,19 @@ fn find_in_vars(pattern: &str) -> String {
|
|||||||
|
|
||||||
#[tokio::main]
|
#[tokio::main]
|
||||||
async fn main() {
|
async fn main() {
|
||||||
let _ = dotenv();
|
let stdout = File::create("/tmp/daemon.out").unwrap();
|
||||||
|
let stderr = File::create("/tmp/daemon.err").unwrap();
|
||||||
|
|
||||||
|
let daemonize = Daemonize::new()
|
||||||
|
.pid_file("/tmp/test.pid") // Every method except `new` and `start`
|
||||||
|
.chown_pid_file(true) // is optional, see `Daemonize` documentation
|
||||||
|
.working_directory("/tmp") // for default behaviour.
|
||||||
|
.stdout(stdout) // Redirect stdout to `/tmp/daemon.out`.
|
||||||
|
.stderr(stderr); // Redirect stderr to `/tmp/daemon.err`.
|
||||||
|
|
||||||
|
match daemonize.start() {
|
||||||
|
Ok(_) => {
|
||||||
|
let _ = dotenv();
|
||||||
let db_adrr = find_in_vars("DATABASE_ADRR");
|
let db_adrr = find_in_vars("DATABASE_ADRR");
|
||||||
let db_pool = Arc::new(Mutex::new(SqlitePool::connect(&db_adrr).await.unwrap()));
|
let db_pool = Arc::new(Mutex::new(SqlitePool::connect(&db_adrr).await.unwrap()));
|
||||||
let bind_adrr: SocketAddr = SocketAddr::from_str(find_in_vars("BIND_ADRR").as_str()).expect("Could not parse bind address");
|
let bind_adrr: SocketAddr = SocketAddr::from_str(find_in_vars("BIND_ADRR").as_str()).expect("Could not parse bind address");
|
||||||
@@ -231,5 +244,8 @@ async fn main() {
|
|||||||
println!("Failed to serve connection: {:?}", err);
|
println!("Failed to serve connection: {:?}", err);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
}},
|
||||||
|
Err(e) => eprintln!("Error, {}", e),
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user