Deamon + minor update

This commit is contained in:
2024-09-13 13:59:54 +02:00
parent 0010f00502
commit fb41e1b02b
6 changed files with 1975 additions and 27 deletions

1948
Cargo.lock generated Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -218,34 +218,34 @@ async fn main() {
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.
.working_directory("/home/aindustries/vote-rllhc/") // 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_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 listener = TcpListener::bind(bind_adrr).await.expect("Could not bind to address.");
loop {
let (tcp, _) = listener.accept().await.expect("Could not accept stream");
let io = TokioIo::new(tcp);
let db = db_pool.clone();
let service = service_fn(move |req| {
service(req, db.clone())
});
tokio::task::spawn(async move {
if let Err(err) = http1::Builder::new()
.timer(TokioTimer::new())
.serve_connection(io, service).await
{
println!("Failed to serve connection: {:?}", err);
}
});
}},
let _ = dotenv();
let db_adrr = find_in_vars("DATABASE_ADRR");
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 listener = TcpListener::bind(bind_adrr).await.expect("Could not bind to address.");
loop {
let (tcp, _) = listener.accept().await.expect("Could not accept stream");
let io = TokioIo::new(tcp);
let db = db_pool.clone();
let service = service_fn(move |req| {
service(req, db.clone())
});
tokio::task::spawn(async move {
if let Err(err) = http1::Builder::new()
.timer(TokioTimer::new())
.serve_connection(io, service).await
{
println!("Failed to serve connection: {:?}", err);
}
});
}
},
Err(e) => eprintln!("Error, {}", e),
}
}
}

View File

@@ -29,9 +29,9 @@ body {
margin:auto;
display: flex;
flex-direction: column;
width: 100%;
width: 90%;
max-width: 500px;
height: calc(100vh - 60px);
height: calc(100dvh - 60px);
}
.app > h2 {
@@ -94,4 +94,4 @@ body {
.confirm > h3 {
color: white;
}
}

BIN
vote.db

Binary file not shown.

Binary file not shown.

Binary file not shown.