Deamon + minor update
This commit is contained in:
48
src/main.rs
48
src/main.rs
@@ -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),
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user